.on()
的jquery文档说它适用于那些经常发生的事情,例如"click"
(而不是事情很重,比如mousemove
) ,处理成本更高。
$(document).ready(function () {
$("body").on("mousemove", "#div1", function (event){
console.log(event);
});
});
当我进行鼠标移动时,我正在查看jquery通过的事件,并注意到它非常大。它包含了我可能永远不会使用的大量信息。是否可以仅传递该事件的某些部分,并使其处理鼠标移动或按键的成本更低?
//somehow only pass these properties?
var desired_events = ["clientX", "clientY", "offsetX", "offsetY"];
答案 0 :(得分:2)
这涉及JQuery的直接实现/ API。 我担心,为事件返回的任何内容都将在事件对象中返回。
请参阅:http://api.jquery.com/category/events/event-object/
根据该链接:
以下属性也会复制到事件对象 某些值可能未定义,具体取决于事件:
altKey,bubbles,button,cancelable,charCode,clientX,clientY, ctrlKey,currentTarget,data,detail,eventPhase,metaKey,offsetX, offsetY,originalTarget,pageX,pageY,prevValue,relatedTarget, screenX,screenY,shiftKey,target,view,其中
因此,除非您使用JQuery的自定义实现,或者使用您自己的JQUERY实现/代码覆盖,否则我看不出如何使事件对象包含更少。