當更新後的值編程觸發jQuery的change事件,你可以做任何消防jQuery的更改事件編程.change()VS .trigger( '變')
$("input").val("A").change();
或
$("input").val("A").trigger("change");
是否有理由使用其中一種。有沒有哪種情況比另一種更適合?
當更新後的值編程觸發jQuery的change事件,你可以做任何消防jQuery的更改事件編程.change()VS .trigger( '變')
$("input").val("A").change();
或
$("input").val("A").trigger("change");
是否有理由使用其中一種。有沒有哪種情況比另一種更適合?
反正罩下呼叫change()
最後調用trigger('change')
。但是,對於觸發器,您可以限制對該事件的名稱空間事件處理程序的調用(例如trigger('change.myplugin')
),所以我更喜歡每次都使用觸發器。
他們是恰好一樣。 change()
- 以及所有其他速記事件方法 - 在內部使用trigger('change')
(source)。
在這種特定情況下,選擇一個優先於另一個的唯一原因是您對語義的偏好。
它們具有相同的功能,但不完全相同。因此,這裏是變化()的源代碼:
function (a,c){
c==null&&(c=a,a=null);
return arguments.length>0?this.on(b,null,a,c):this.trigger(b);
}
所以改變()有它調用觸發作爲它的一個結果(「變化」)條件語句。因此,觸發器('更改')的工作速度稍快。
它們並不完全相同。 change()有一個額外的代碼,最終調用trigger(「change」)。 –
@EmrahIzci ......那就是這樣。如果你擔心通過三元表達式運行邏輯幾毫秒的延遲,那麼你可能不應該使用jQuery。 –
正如你所說的,他們在性能方面有不同的級別差異,這並不會使它們「完全相同」。但是,是的,我正在撞擊原子,所以毫秒正在使我否認它們完全一樣。 –