我綁定3個事件:綁定事件,停止多個動作
$("#form").bind('keyup change submit',function(event){
//do something
alert("test alert");
});
在一個形式,你可以有文本字段,下拉菜單,複選框,等....
從我注意到了,直到您單擊文本框的「外部」之後,纔會使用文本字段觸發「更改」事件。 因此,我使用「keyup」事件,這對我很有用。
而「提交」事件是不言自明的。 (我基本上是通過綁定這些事件來讓自己避免執行多個選擇器。) 我可能希望稍後添加更多事件。
這裏是我的問題....
彈出警報會觸發2次,當我進行了更改一個文本框。不知道這是因爲我點擊了導致它的彈出窗口上的按鈕,或者如果更改文本框中的值也可以同時觸發兩個鍵盤彈出的更改事件。
無論哪種方式,這是讓我瘋了。
有關改進此方法的任何想法,沒有多個選擇器?
當然'target === event.target'總是爲false,因爲'target'是未定義的? – Eric 2009-11-08 13:13:02
在觸發按鍵事件之前,'target'爲'null'。當用戶輸入時,會觸發多個按鍵事件,從而將「target」設置爲當前元素。當該元素上的變化事件觸發時(失去焦點後)'target === event.target'爲true。 – 2009-11-08 17:56:21