昨日、jQuery Notebookを試してみて、少しプログラムを見ていたのですが、
var contentArea = $('#jquery-notebook-content-' + $(this).attr('data-jquery-notebook-id'));
contentArea.val($(this).html());
var content = contentArea.val();
var changeEvent = new CustomEvent('contentChange', { 'detail': { 'content' : content }});
this.dispatchEvent(changeEvent);と「new CustomEvent」と記載されていて、これは何なのかなーっと思って調査しました。MDNのCustomEventの詳細がありました。
言葉通りなのですが、カスタムイベントを発行できるようです。
var obj = document.getElementById('hoge');
obj.addEventListener('cat', function(e) {
console.log(e)
});
var event = new CustomEvent("cat", {"detail":{"bar":true}});
obj.dispatchEvent(event);上の場合、console.logにe.detail.barでBoolを確認することができる。普段、カスタムイベントもjQueryを使っているので、ネイティブにもあることが気がつかなかった。
ちなみに、当然のごとく、IEは対応していないっぽい。
0 コメント:
コメントを投稿