用Javascript中的内容替换jQuery中的绑定事件

用Javascript中的内容替换jQuery中的绑定事件,javascript,jquery,bind,bookmarklet,unbind,Javascript,Jquery,Bind,Bookmarklet,Unbind,我需要用JavaScript中的一些事件替换JQuery中的绑定事件 我正在开发一个Bookmarklet,收到了用JavaScript替换jQuery的命令 我有以下代码 $(document).unbind("mousemove", X.highlighter); $(document).bind("mousemove", X.highlighter); 而且 var current, overlay = $("#overlayhighlight"), o = $('#y'); 最后3

我需要用JavaScript中的一些事件替换JQuery中的绑定事件

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

我有以下代码

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

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

var current, overlay = $("#overlayhighlight"), o = $('#y');
最后3个我可以用document.getElementsByID替换

束缚与解开。。。无线索

检查我们的大量鼠标事件信息,更具体地说是这一信息:

document.onmousemove=X.highlighter;//bind

document.onmousemove=null;//unbind
鼠标移动

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

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

检查我们的鼠标事件信息,具体如下:

鼠标移动

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

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

查看element.addEventListener和element.removeEventListener

查看element.addEventListener和element.removeEventListener

使用以下示例附加简单事件 使用以下示例附加简单事件 您可以用上面的javascript代码替换jquery代码


您可以用上面的javascript代码替换jquery代码,将其添加到脚本的顶部,并像往常一样使用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);

将此添加到脚本的顶部,并像往常一样使用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);

JQuery具有强大的跨浏览器支持,告诉您的客户JQuery更可靠-我们知道,但这是一个复杂的bookmarklet,我们应该只使用js;如果一个网站没有jquery,bookmarklet会破解instalntly为什么不在bookmarklet中加载jquery呢?您不能仅仅用javascript替换它们,jQuery事件包括许多您可能正在使用的修复和功能。您认为理所当然的每一件小事现在都必须由您编码;它可能会破坏网站或书签;我开始时不知道这一点,但现在,不能使用jquery;这很复杂:dJQuery具有强大的跨浏览器支持,告诉您的客户JQuery更可靠-我们知道,但这是一个复杂的bookmarklet,我们应该只使用js;如果一个网站没有jquery,bookmarklet会破解instalntly为什么不在bookmarklet中加载jquery呢?您不能仅仅用javascript替换它们,jQuery事件包括许多您可能正在使用的修复和功能。您认为理所当然的每一件小事现在都必须由您编码;它可能会破坏网站或书签;我开始时不知道这一点,但现在,不能使用jquery;这很复杂:di做了那部分,文档。mousemove很棘手;使用鼠标时发生了一些事件。。。现在我想我知道如何在jsi中使用bind undind,用js替换了jq,它崩溃了:我做了那个部分,有点可疑,document.mousemove很棘手;使用鼠标时发生了一些事件。。。现在我想我知道如何在jsi中使用bind undind了,用js替换了jq,它崩溃了:这里有些可疑之处,jQuery不能在这个bookmarklet中使用;您是否在js中转换jquery?此外,我必须使用我的singletone js类,以便不复制任何变量、函数。。。所以有一些错误:jsFilePath应该是jqueryurl。它应该是createElementscript。您不应该访问document.body,因为在运行此代码时它可能不可用。脚本也可以在head中运行,在这种情况下,当时只有head元素可用。10x用于帮助,但我们不能使用jqueryjquery不能在这个bookmarklet中使用;您是否在js中转换jquery?此外,我必须使用我的singletone js类,以便不复制任何变量、函数。。。所以有一些错误:jsFilePath应该是jqueryurl。它应该是createElementscript。您不应该访问document.body,因为在运行此代码时它可能不可用。脚本也可以在head中运行,在这种情况下,只有head元素可用
10倍的帮助,但我们不能使用jquery这是最合适的答案,但是,从jq传递到js后,一些代码没有响应;我仍然有:var target=$event.target,offset=target.offset,width=target.outerWidth,height=target.outerHeight;这不再有反应了,因为jq已经不存在了;如何添加此代码?@IonutFlaviusPogacian侦听器正在获取一个MouseEvent对象,该对象包含有关事件的一些信息。我不确定,但是relatedTarget可能是您正在寻找的属性。这是最合适的答案,但是,在从jq传递到js之后,一些代码没有响应;我仍然有:var target=$event.target,offset=target.offset,width=target.outerWidth,height=target.outerHeight;这不再有反应了,因为jq已经不存在了;如何添加此代码?@IonutFlaviusPogacian侦听器正在获取一个MouseEvent对象,该对象包含有关事件的一些信息。我不确定,但relatedTarget可能就是你要找的房产。
if (document.addEventListener) {  
      document.addEventListener('mousemove', modifyText, false);   
    } else if (document.attachEvent)  {  
      document.attachEvent('onmousemove', modifyText);  
    }  
document.onmousemove(function(){
//do something here
});

var current, overlay = doucment.getElementById("overlayhighlight"), o = docuemnt.getElementById('y');
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);