1

JQuery の Bind イベントを JavaScript のイベントに置き換える必要があります。

ブックマークレットを開発していて、jQuery を JavaScript に置き換える注文を受けました

次のコードがあります

$(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');

上記のようにjqueryコードをjavascriptコードに置き換えることができます

于 2012-06-15T09:56:48.793 に答える
2

これをスクリプトの先頭に追加し、通常どおりjQueryを操作します。Webサイトに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 に答える
2

以下のサンプルを使用して、単純なイベントを添付します

if (document.addEventListener) {  
      document.addEventListener('mousemove', modifyText, false);   
    } else if (document.attachEvent)  {  
      document.attachEvent('onmousemove', modifyText);  
    }  
于 2012-06-15T09:56:48.030 に答える
2

element.addEventListener()( MDN docu ) とelement.removeEventListener( MDN docu )を見てください。

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

document.removeEventListener( 'mousemove', X.highlighter );
于 2012-06-15T09:54:44.540 に答える
1

多くのマウス イベント情報については、このリンクを確認してください。

マウスムーブ

mousemove イベントは問題なく動作しますが、すべての mousemove イベントを処理するにはかなりのシステム時間がかかる場合があることに注意してください。ユーザーがマウスを 1 ピクセル動かすと、mousemove イベントが発生します。実際には何も起こらない場合でも、長くて複雑な機能には時間がかかり、サイトの使いやすさに影響を与える可能性があります。特に古いコンピューターでは、すべてが非常に遅くなります。

したがって、onmousemove イベント ハンドラーは必要な場合にのみ登録し、不要になったらすぐに削除することをお勧めします。

element.onmousemove = doSomething;
// later
element.onmousemove = null;
于 2012-06-15T09:53:38.750 に答える
1
document.onmousemove=X.highlighter;//bind

document.onmousemove=null;//unbind
于 2012-06-15T09:52:34.027 に答える