Jquery 将单击和按键绑定到输入字段之间的区别
我想防止用户在聚焦输入字段内移动光标。别担心,这只会在他们开始用自己的值替换默认值之前发生 以下代码成功阻止用户使用箭头键移动光标:Jquery 将单击和按键绑定到输入字段之间的区别,jquery,Jquery,我想防止用户在聚焦输入字段内移动光标。别担心,这只会在他们开始用自己的值替换默认值之前发生 以下代码成功阻止用户使用箭头键移动光标: $('.test').focus(function() { $(this).bind('keypress', function(event) { if (event.keyCode > 36 && event.keyCode < 41) { return false; }
$('.test').focus(function() {
$(this).bind('keypress', function(event) {
if (event.keyCode > 36 && event.keyCode < 41) {
return false;
} else {
return true;
}
});
});
不会阻止单击在输入字段内移动光标。
这两种情况之间有什么区别
keypress
是通过键盘输入时触发的事件<代码>点击是一个鼠标事件。你来了,伙计
$('#noclick').on('mousedown click', function() {
return false;
});
也许这对你有用:
$(".test").focus();
$(".test").bind('keydown', function(event) {
if (event.keyCode > 36 && event.keyCode < 41) {
return false;
} else {
return true;
}
});
$(".test").bind('mousedown', function(event) {
return false;
});
$(“.test”).focus();
$(“.test”).bind('keydown',函数(事件){
如果(event.keyCode>36&&event.keyCode<41){
返回false;
}否则{
返回true;
}
});
$(“.test”).bind('mousedown',函数(事件){
返回false;
});
看
这将防止在输入字段上执行所有鼠标下键操作。箭头键也被抑制。只需开始键入,您将替换默认值。使用
占位符
属性不是更容易吗?是的。那会更容易。我想我会的。谢谢嗯,我刚试过mousedown,这很有效,但单击仍然不起作用。为什么mousedown可以工作而单击not work?@cowabungabillmousedown
会在按下鼠标按钮时被触发<代码>单击将在释放鼠标按钮时触发单击
与mousedown
和mouseup
组合相同。如果需要右键“mousedown click”,请同时使用这两种方法。我没有意识到光标在鼠标向下移动,但考虑到可以选择文本这一事实,这是有意义的。哎呀!再次感谢。返回false代码>不停止事件默认操作。您需要一个函数(event){event.preventDefault();}
作为回调函数。请参阅:是,一个事件.preventDefault()代码>对所选事件禁用正常事件操作。这意味着浏览器不会执行任何操作,除非在event.preventDefault()之后添加自己的代码
可自行执行鼠标上的任何操作。例如,$('[href]')。on('mousedown click',function(){event.preventDefault();})代码>禁用当前页面上的所有超链接。有意义!谢谢你,伙计。虽然你可能不想阻止最初的点击,这样你至少可以专注于一个输入?
$(".test").focus();
$(".test").bind('keydown', function(event) {
if (event.keyCode > 36 && event.keyCode < 41) {
return false;
} else {
return true;
}
});
$(".test").bind('mousedown', function(event) {
return false;
});