如果我自己创建点击事件及其处理程序,那么在正确的位置执行 event.preventdefault() 是没有问题的。但是,如果有一个元素已经注册了点击事件和相应的处理程序,我想在某种情况下停用其进一步的工作(例如提交)。
这是示例:
页面上有一个提交按钮,其中包含注册的点击元素(可能大约有一百个验证例程..)和一个具有特定值的变量(al)。该变量的瞬时值 = 5(这不是所需的特定情况 -> 值 = 3)。
HTML
// other form elements
<input type="submit" name="next" value="go"/>
JavaScript 与 jQuery
var al = 3;
$("input[type='submit'][name='next']").click(
function(event) {
if (al != 3) {
alert (al+': Not OK');
event.preventDefault();
} else {
alert ('OK');
}
}
);
在此示例中,我无法阻止表单的提交。我的错误是什么?
编辑:event.preventDefault不是问题,sublime(我的编辑器)无论如何都会纠正它。
-----我想简化问题---------
这是一个 SubmitButon(这次来自原始上下文中的 yii):
查看
echo CHtml::submitButton(
Yii::t ('Somethin', 'next'),
array(
'name' => 'next',
'onclick' => "checkDetails()"
));
JS
checkDetails() {
PREVENT_SUBMITTING
}
PREVENT_SUBMITTING 应该是什么样子?在这种情况下,什么会阻止无条件提交?
最佳答案
改变
event.preventdefault();
至
event.preventDefault();
您必须将“D”写为大写字母。
关于javascript - jQuery: event.preventdefault();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835126/