JAvascriptのイベントトリガ紹介の実装
1084 ワード
文字通り、イベントトリガはよく理解でき、イベントをトリガするために使われていますが、私は多くの友达を信じています.私を含めて、イベントはユーザーのページ上の実際の操作によってトリガーされたと思っていましたか.この観点は、カスタムイベントなどのプログラムによって実装されなければならないイベントがあるため、jQueryのajaxフレームワークのカスタムイベントの一部はイベントトリガによって実装されなければならない.もちろん、特定の場合、イベントトリガによるイベントのトリガは、ユーザの実際の操作によるイベントのトリガよりも便利である.イベントトリガを実現するには、ブラウザにはオリジナルの方法がサポートされていますが、互換性には大きな違いがあります.このような互換性の問題は完全に予想されています.IEには独自の方法があります.他の標準ブラウザにも方法があります.誰の方法が良いか悪いかは言わないで、WEB開発者にとっていくつかの方法を作ることは開発者にとって苦痛です.IEはfireEventメソッドをサポートしてイベントトリガを実現し、標準ブラウザはdispatchEventをサポートしてイベントトリガを実現し、両面派のIE 9は両方をサポートする.次はprototypeです.jsのソースコード:
var fireEvent = function(element, event) {
// IE fireEvent
if (document.createEventObject) {
var evt = document.createEventObject();
return element.fireEvent('on' + event, evt)
} else {
// dispatchEvent
var evt = document.createEvent('HTMLEvents');
// initEvent 3 :
// , ,
evt.initEvent(event, true, true);
return !element.dispatchEvent(evt);
}
};
カスタムイベントモデルbindとtriggerを実現する: