【问题标题】:jQuery + Greasemonkey, Click event doesn't trigger on correct element?jQuery + Greasemonkey,点击事件不会在正确的元素上触发?
【发布时间】:2010-03-07 21:01:00
【问题描述】:
$(Constants.Selectors.Submit_Button).bind('click', function () {
    GM_log('Event run: id = ' + this.id + ' self = ' + this);
});

当单击事件由文档(或其他一些包含所有页面的元素或元素集)触发时,上面的代码似乎运行。控制台输出是这样的: 脚本:事件运行:id = undefined self = [object XPCNativeWrapper [object HTMLDocument]]

选择器是一个简单的字符串“#buttonID”,其中 buttonID 被严重混淆(我确信没有名称冲突),并且是我注入页面的 HTML 表单的一部分。 (即属性“type”设置为“button”的输入元素)。

有人知道为什么会这样吗?我对这个一无所知。

【问题讨论】:

    标签: jquery dom greasemonkey


    【解决方案1】:

    您使用的是哪种版本的 jQuery? 我玩 GM 已经有一段时间了,但我找到了我的代码,它是用 1.3.2 完成的,只要点击功能在文档准备功能下,它仍然对我有用。

    var $jq = jQuery.noConflict();
    
    $jq(function(){
      $jq('#buttonID').click(function(){
       runCode;
      });
     });
    

    【讨论】:

      【解决方案2】:

      而不是做这样的事情:

      var elmLink = document.getElementById('somelink');
      elmLink.onclick = 'my_func(this)';
      

      做这样的事情:

      var elmLink = document.getElementById('somelink');
      elmLink.addEventListener("click", my_func, true);
      

      来自here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-08
        • 1970-01-01
        • 1970-01-01
        • 2018-12-24
        • 1970-01-01
        • 2016-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多