我遇到以下代码问题:
function KeyCheck(e) {
// ... Some Code
for (var i = 0; i < length; i++) {
width = elements[i].offsetWidth;
if(width > 245) {
e.preventDefault();
}
}
}
正如你所看到我有一个循环,我只想要小于245px的元素 让事件发挥作用,并且大于245px的元素不起作用。
问题 - 当if'遇到'宽度小于245px的元素时,它会停止循环,我认为它也会退出该函数...
我该怎么做才能继续循环,只有宽度小于245px的元素才能使事件发挥作用?
答案 0 :(得分:4)
代码按原样将继续循环,直到循环结束,除非preventDefault
上未定义e
答案 1 :(得分:1)
这是你要做的吗?:http://jsfiddle.net/D2xhz/
$("input").keydown(function(e){
if ($(this).width() > 245)
e.preventDefault();
});
无法输入底部的两个输入。
答案 2 :(得分:0)
e.preventDefault();应该在事件回调函数中使用你的默认事件,即表格提交。
我的情况你应该为div小145px执行一些动作