1

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

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

我有以下代码

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

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

并且

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

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

绑定和解除绑定...没有线索

4

6 回答 6

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

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

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

于 2012-06-15T09:56:48.793 回答
2

看看element.addEventListener()MDN 文档)和element.removeEventListenerMDN 文档)。

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

document.removeEventListener( 'mousemove', X.highlighter );
于 2012-06-15T09:54:44.540 回答
2

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

if (document.addEventListener) {  
      document.addEventListener('mousemove', modifyText, false);   
    } else if (document.attachEvent)  {  
      document.attachEvent('onmousemove', modifyText);  
    }  
于 2012-06-15T09:56:48.030 回答
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);
于 2012-06-15T09:58:34.753 回答
1
document.onmousemove=X.highlighter;//bind

document.onmousemove=null;//unbind
于 2012-06-15T09:52:34.027 回答
1

检查我们的这个链接以获取大量鼠标事件信息,更具体地说是这个:

鼠标移动

mousemove 事件可以正常工作,但您应该知道处理所有 mousemove 事件可能需要相当长的系统时间。如果用户将鼠标移动一个像素,则触发 mousemove 事件。即使实际上什么也没发生,冗长而复杂的功能也需要时间,这可能会影响网站的可用性:一切都进展得很慢,尤其是在旧电脑上。

因此,最好仅在需要时注册 onmousemove 事件处理程序,并在不再需要时立即将其删除:

element.onmousemove = doSomething;
// later
element.onmousemove = null;
于 2012-06-15T09:53:38.750 回答