有沒有人知道一種方法來觸發點擊一個元素在DOM級別的Mootools?例如觸發DOM級事件
foo.fireEvent('click')
例如,只有火災事件由mootools添加,這對於這個特定的應用程序並不是很有幫助。
下面是一個帶玩具示例的小提琴 - 您可以看到,單擊頂部按鈕將觸發兩個事件處理函數,同時嘗試使用下部按鈕觸發點擊只會觸發第二個函數。
任何幫助,將不勝感激 - 謝謝!
有沒有人知道一種方法來觸發點擊一個元素在DOM級別的Mootools?例如觸發DOM級事件
foo.fireEvent('click')
例如,只有火災事件由mootools添加,這對於這個特定的應用程序並不是很有幫助。
下面是一個帶玩具示例的小提琴 - 您可以看到,單擊頂部按鈕將觸發兩個事件處理函數,同時嘗試使用下部按鈕觸發點擊只會觸發第二個函數。
任何幫助,將不勝感激 - 謝謝!
現代的瀏覽器提供的Element.click
方法,所以你可以嘗試這樣的事:
Element.implement({
synteticClick: function() {
var click = 'click';
(this[click] && !(this[click]())) || this.dispatchEvent(new Event(click));
return this;
}
});
http://jsfiddle.net/dimitar/LUPYK/
作品/在最新的FF測試,瀏覽器,也IE9和IE9在IE7模式(COMPAT )。
記住,事件對象可以是基本的,即缺乏clientX/Y等 - 因此它非常依賴於你在另一邊做什麼...
我實際上正在試驗 - 看起來像單擊方法只存在於UI元素,如鏈接和按鈕;不是圖像。 –
是因此方法2通過dispatchEvent根據w3規格 –
啊 - 仍然遇到一些怪癖,但這使我走上了正確的軌道 - 謝謝。 –
讓人驚訝 - 在我的經驗來說,這是更好只是咬緊牙關,重構現有的內聯點擊處理程序,通過mootools添加。正如他們所說,它看起來有點[臭](http://en.wikipedia.org/wiki/Code_smell) –
問題是,我與第三方,遠程腳本接口和事件的元素上該頁面通過一個未知的方法。如果這是我的代碼,我試圖觸發,這不會是一個問題。 –