Rak*_*yal 5 javascript javascript-events method-chaining chaining
我的应用程序实际上有数百页.现在我必须在onSubmit表单上附加一个事件'disablePage'.我不想去每一页写下:
<form name="frmname" onSubmit="disablePage();">
Run Code Online (Sandbox Code Playgroud)
我现在正在做的是: -
来自common.js文件的摘录; [包含在所有页面中]
/* we have to attach 'attachFormSubmit' method on onLoad event,
otherwise forms[0] will always be null. If there is any alternative,
then please suggest one */
if (window.addEventListener){
window.addEventListener('load', attachFormSubmit, false);
} else if (window.attachEvent){
window.attachEvent('onload', attachFormSubmit );
}
function attachFormSubmit(){
forms = document.getElementsByTagName('Form');
if ( forms[0] ){ // there is only one form in all pages
if (forms[0].addEventListener){
forms[0].addEventListener('submit', disablePage, false);
} else if (forms[0].attachEvent){
forms[0].attachEvent('onsubmit', disablePage);
}
}
}
function disablePage(){
document.getElementById("pageHideDivID").style.display='inline';
}
Run Code Online (Sandbox Code Playgroud)
直到这一点一切正常,disablePage()附加到所有页面的表单.
但问题是,如果有人已经将任何方法附加到onSubmit或onLoad,那么也应该执行.我想根据我的代码,代码永远不会被执行.我该怎么做才能链接他们的方法呢?
No JQuery please
根据Quirksmode 的说法,你所做的事情应该确实有效。它应该只是添加您的事件,而不是替换旧的事件。这就是为什么您使用 addEventListener/attachEvent 而不是分配给 onsubmit 的原因。
| 归档时间: |
|
| 查看次数: |
11086 次 |
| 最近记录: |