Jquery.点击事件不'更改事件后无法工作
Jquery. click event doesn't work after change event?
具有以下示例代码:
<input type="text" id="changeid">
<a href="#" id="clickb">click</a>
<script>
$('#clickb').on("click", function(event){
alert(1);
return false;
});
$('#changeid').on("change", function(event){
alert(2);
return false;
});
</script>
当将内容放入文本字段并立即单击链接时,只会触发onchange事件,而不会触发链接单击事件。为什么?更改事件似乎正在阻止单击事件?
它被alert
阻止。将alert
更改为console.log
,您会发现两个事件都已激发。
演示
$('#clickb').on("click", function(event){
console.log(1);
return false;
});
$('#changeid').on("change", function(event){
console.log(2);
return false;
});
当您编辑输入并点击链接时,内部会发生以下情况
- 您开始点击"链接"。还没有生成任何事件(甚至没有鼠标按下),因为首先浏览器将执行一些清理工作:
- 输入失去焦点并将引发
blur
事件 - 输入引发
change
事件,因为它引发了blur
并且值已更改 change
事件回调打开alert(2)
- 新窗口出现后,文档失去焦点
- 链接将永远不会经历
click
解决方案是不使用alert
(正如xdazz建议的那样)。
使用此
$("#changeid").live('change', function () ...
onchange事件只有在元素模糊后才会触发。因此,当你键入一些文本并首先点击链接时,文本字段上的元素会变得模糊。处理更改事件的最佳方法是使用onkeyup事件来跟踪对文本字段所做的更改。
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- JQuery只检查了一次事件工作
- now.js-对象没有方法,但在jquery中单击事件工作
- Jquery Click 事件工作两次
- 单击时事件不作为委派事件工作
- 如何在 angularjs 中使用点击事件工作
- Javascript;CSS:隐藏滚动条,保持滚动事件工作
- Onclick事件工作不正常.node.js中的
- 单击主页上的事件工作,但不起作用并发布页面
- 我如何获得多个独立的文档.Onkeydown事件工作
- 广播事件-工作良好的服务器端,但不是在客户端
- AngularJs Ng-Keypress事件工作错误
- 使我的点击双击事件工作
- Jquery Ajax成功不会触发,而是完成事件工作
- jQuery不能为按钮事件工作
- 是JavaScript事件工作,如果我使用jQuery
- Javascript onclick事件工作显示,但不隐藏