Alp*_*Alp 12 javascript event-handling javascript-events
是否有JavaScript方法将自定义数据传递给手动创建的JavaScript事件?
好吧,假设我有这个代码来创建和触发JavaScript事件:
var evObj = document.createEvent('HTMLEvents');
evObj.initEvent('submit', bubbling, cancelable);
anElement.dispatchEvent(evObj);
Run Code Online (Sandbox Code Playgroud)
这工作正常,可以使用此代码处理:
document.addEventListener('submit', mySubmitEventHandler, true);
Run Code Online (Sandbox Code Playgroud)
但是,我需要一种方法将其他数据传递给事件,以便mySubmitEventHandler知道事件是由用户触发还是由JavaScript事件创建,如上所示.布尔值就足够了.
那么,我怎样才能为新创建的东西添加"myEvent = true"之类的东西evObj呢?
请不要jQuery答案,我需要用纯JavaScript做这个.
Rob*_*b W 21
将参数附加到evObj.
evObj.flag = 'Hi!';
anElement.dispatchEvent(evObj);
Run Code Online (Sandbox Code Playgroud)
此代码演示了传递的事件对象dispatchEvent等于事件侦听器中的事件对象(实时演示):
var evObj = document.createEvent('HTMLEvents');
document.body.addEventListener('test', function(e){ alert(e === evObj); },true);
evObj.initEvent('test', true, true);
document.body.dispatchEvent(evObj); // Shows alert, "true"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9729 次 |
| 最近记录: |