如果我有一個事件處理程序,如:鏈上的兩個jQuery的事件
function A() {
...
}
有可能分配給多個事件:
$("#test1").keyup(A);
$("#test2").change(A);
但我不知道是否有可能做到這一點只有一句話,是這樣的:
$("#test1").keyup, $("#test2").change (function() {
...
});
如果我有一個事件處理程序,如:鏈上的兩個jQuery的事件
function A() {
...
}
有可能分配給多個事件:
$("#test1").keyup(A);
$("#test2").change(A);
但我不知道是否有可能做到這一點只有一句話,是這樣的:
$("#test1").keyup, $("#test2").change (function() {
...
});
簡答題?不是,長答案?一點也不。
對不起,沒有你想要的答案。但好消息是,除了這個限制之外,你的代碼看起來是獨一無二的。
答案是:是的,它可以做到,看到@ jacek-kaniuk回答下面 –
@RensdeNobel:答案仍然沒有。至少不是OP想要的方式,與特定元素/觸發器觸發功能的組合。當然,您可以聽所有要使用的觸發器/事件,以及觸發器/事件可能發生的所有元素,然後查看事件對象以確定是否檢測到正確的組合,但很可能更容易分開綁定每個組合。 –
$("#test2").bind('keyup change', A);
/編輯爲不同的元素和事件 - 它是:
$("#test1, #test2").bind('keyup change', A);
或
$("#test1").bind('keyup', A);
$("#test2").bind('change', A);
取決於你有什麼期望。沒有簡單的方法
他們是2個不同的元素。大家都在這裏跳槍。 – Mrchief
這將工作來監聽匹配jQuery選擇器的元素上的這兩個事件,但OP正在兩個不同的元素上查找兩個不同的事件。因此,只有「#test1」上的「關鍵字」或「#test2」上的「更改」,而不是「#test1」上的「更改」。 –
@Jacek_FH - 編輯的第二個例子可以工作。但是,OP可能會堅持他們目前擁有的。編輯的第一個例子會將兩個事件都綁定到這兩個元素。 –
如果這些相同的元素,比如#test1
,那麼你可以鏈中的方法
$('#test1').change(A).keyup(A);
然而,你不能把它們連,或做任何類似的例子超過1元。
是的,是的。但它真的很可怕。
$("#test1").keyup(A).parent().find("#test2").change(A);
還有這一暴行:
$("#test1, #test2").eq(0).keyup(A).end().eq(1).change(A);
哈哈!我會建議不要使用類似的編碼恐怖。 –
@Jose Faeti - 完全同意。除非你想讓別人退出:p – karim79
我不這麼認爲,但後來,我不是專家。很想在這裏看到答案。 – Mrchief
你想要在不同的ID上聲明的鏈式事件?你想要做什麼? –
我想爲他們分配不同的ID和不同的事件相同的功能(我的情況:SELECT需要響應onChange事件和文本INPUT需要響應onKeyUp,但是是管理事件的同一個功能UpdateGraph) – Ivan