1

リスナー内からリスナーをアンバインドすることは可能ですか? 独自のバインド解除の基準を決定するリスナーがあるため、これを実行したいと考えています (たとえば、特定のキーが押されると、リスナーはバインドを解除する必要があります)。

$input.on("keydown.listenerOne", function (press) {  
   if(press=="37"){
      $input.off("keyup.listenerOne");
   }
});
4

3 に答える 3

3

はい、それは正しいアプローチです。ハンドラー内でアンバインドできますが、2 つの異なるイベント (keyup と keydown) があることに注意してください。おそらく、あなたはキーアップを意味していました。

于 2012-11-05T23:51:48.623 に答える
2

イベントにバインドし、keydownイベントのバインドを解除しているためkeyup、これは機能しません。これには、例ごとにバインドがありません。また、参照するイベントはpressoreであり、プロパティeventを参照する必要があります。whichif(e.which == 37)

于 2012-11-05T23:54:41.380 に答える
2

バインドしているのと同じものをバインド解除する必要があります。この場合、バインドしているkeyupときにバインドを解除しようとしていますkeydown。また、pressキーコードは教えてくれません。

var code = press.keyCode || press.which;
if(code == 37) { //Enter keycode
   //Do something
}

それよりもif (press == "37")

この回答から取得

于 2012-11-05T23:56:43.987 に答える