在以下代码中,我将在哪里使用preventDefault
?我一直在测试它以使其工作但是没有找到取消默认submit
操作的好方法。哪个函数需要捕获事件对象?
以下是代码:
f_name = 'someFunc' ;
f_args(1,2,3) ;
if(element.addEventListener) {
element.addEventListener('submit',(function(name,args,element) {
return function() {
window[name].apply(element,args) ;
}
})(f_name,f_args,element)
,false) ; }
答案 0 :(得分:1)
假设您只想在某些事件处理程序上阻止默认,您可以在用于处理特定事件的回调中使用preventDefault()
。在您的示例中,这将是由name
参数表示的全局函数,它将是someFunc
全局函数。
如果您想为所有事件处理程序(对我来说没有多大意义)执行此操作,那么您在调用{{1}之前或之后的代码中执行此操作}。
答案 1 :(得分:1)
f_name = 'someFunc';
f_args = [1, 2, 3];
if (element.addEventListener) {
element.addEventListener('submit', (function (name, args, element) {
return function (e) {
// here
e.preventDefault();
window[name].apply(element, args);
};
})(f_name, f_args, element), false);
}
答案 2 :(得分:0)
将使用事件作为参数调用您的处理函数
return function(evt) {
evt.preventDefault();
window[name].apply(element,args) ;
}