用Javascript中的东西替换jQuery中的Bind事件

时间:2012-06-15 09:50:29

标签: javascript jquery bind bookmarklet unbind

我需要用来自JavaScript的一些事件替换JQuery中的Bind事件。

我正在开发一个Bookmarklet,我收到了用JavaScript替换jQuery的命令

我有以下代码

$(document).unbind("mousemove", X.highlighter);

$(document).bind("mousemove", X.highlighter);

以及

var current, overlay = $("#overlayhighlight"), o = $('#y');

这最后3我可以用document.getElementsByID替换

绑定和取消绑定......没有头绪

6 个答案:

答案 0 :(得分:3)

document.onmousemove(function(){
//do something here
});

var current, overlay = doucment.getElementById("overlayhighlight"), o = docuemnt.getElementById('y');

您可以使用上面的javascript代码替换jquery代码

答案 1 :(得分:2)

查看element.addEventListener()MDN docu)和element.removeEventListenerMDN docu)。

document.addEventListener( 'mousemove', X.highlighter );

document.removeEventListener( 'mousemove', X.highlighter );

答案 2 :(得分:2)

使用以下示例附加简单事件

if (document.addEventListener) {  
      document.addEventListener('mousemove', modifyText, false);   
    } else if (document.attachEvent)  {  
      document.attachEvent('onmousemove', modifyText);  
    }  

答案 3 :(得分:2)

将此添加到脚本的顶部并像往常一样使用jQuery,如果网站没有jquery,则无关紧要。

var js = document.createElement("https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");
js.type = "text/javascript";
js.src = jsFilePath;
document.body.appendChild(js);

答案 4 :(得分:1)

document.onmousemove=X.highlighter;//bind

document.onmousemove=null;//unbind

答案 5 :(得分:1)

查看我们的this link以获取大量鼠标事件信息,更具体地说是这一点:

  

MOUSEMOVE

     

mousemove事件工作正常,但您应该知道它可能   花费相当多的系统时间来处理所有mousemove事件。如果   用户移动鼠标一个像素,mousemove事件触发。即便   没有实际发生,长而复杂的功能需要时间和   这可能会影响网站的可用性:一切都很顺利   慢慢地,特别是在旧电脑上。

     

因此,最好只在注册时使用onmousemove事件处理程序   你需要它,并在不再需要它时立即删除它:

element.onmousemove = doSomething;
// later
element.onmousemove = null;