介紹
當(dāng)用戶雙擊DOM對象(例如按鈕和鏈接等)時,對于用戶交互一直是個麻煩的問題。 幸運(yùn)的是, jQuery 提供了一個相當(dāng)棒的解決方法。 那就是.one()。
.one()這個方法是做什么的?
它附加了一個元素事件的處理程序并且每個元素只能運(yùn)行一次事件處理器函數(shù)。
參數(shù)
.one( events [, selector ] [, data ], handler(eventObject) )
events
類型: String
•規(guī)定添加到元素的一個或多個事件。由空格分隔多個事件。必須是有效的事件。就像“click”和“keydown.myPlugin”一樣。
選擇器參數(shù)
參數(shù)類型: String
•選擇器字符串用于過濾出被選中的元素中能觸發(fā)事件的子元素
•如果傳null或者省略,當(dāng)事件到達(dá)選定的元素時就會被觸發(fā)
數(shù)據(jù)
參數(shù)類型: 任何類型
•該參數(shù)的值在事件觸發(fā)將會傳遞給的事件處理函數(shù)
事件處理函數(shù)
參數(shù)類型:函數(shù)類型
•事件觸發(fā)時應(yīng)該調(diào)用的函數(shù)
•false 也是允許的因為它就是簡單return false;函數(shù)的簡寫形式
舉例
復(fù)制代碼 代碼如下:
$("#saveBttn").one("click", function () {
alert("This will be displayed only once.");
});
復(fù)制代碼 代碼如下:
$("body").one("click", "#saveBttn", function () {
alert("This displays if #saveBttn is the first thing clicked in the body.");
});上述代碼關(guān)鍵在于:
復(fù)制代碼 代碼如下:
$("#saveBttn").on("click", function (event) {
alert("This will be displayed only once.");
$(this).off(event);
});
新聞熱點(diǎn)
疑難解答
圖片精選