Javascript 如果div正在向下移动,则单击按钮不触发
因此,用例有一个div、一个按钮和一个文本框 在文本框的模糊事件中,div展开 单击按钮时,会显示警报 所以这两种方法都有效。但是如果我的光标在文本框上,我尝试点击按钮。然后,单击不会被引发。我知道,由于按钮已移动,所以单击不会被提升。那么,我的选择是什么 代码的插入器Javascript 如果div正在向下移动,则单击按钮不触发,javascript,jquery,html,Javascript,Jquery,Html,因此,用例有一个div、一个按钮和一个文本框 在文本框的模糊事件中,div展开 单击按钮时,会显示警报 所以这两种方法都有效。但是如果我的光标在文本框上,我尝试点击按钮。然后,单击不会被引发。我知道,由于按钮已移动,所以单击不会被提升。那么,我的选择是什么 代码的插入器 索引上的快速解决方案。html: <body> <h1>Hello Plunker!</h1> <input type="button" id="clickAbleButton" va
索引上的快速解决方案。html:
<body>
<h1>Hello Plunker!</h1>
<input type="button" id="clickAbleButton" value="Click Me" />
<input type="text" id="myInputText" value="Empty Text Box" />
<div style="height:40px;" id="everExpandingDiv">
This is my container div
</div>
$(function() {
$('#myInputText').on('mousedown',function()
{$('#everExpandingDiv').height($('#everExpandingDiv').height()+20);});
$('#clickAbleButton').click(function() {
alert('button click was raised');
});
});
只需倾听mousedown的声音,这才是你真正想要的
$('#clickAbleButton').on('mousedown',function() {
单击是三个事件,而不是一个,它们都必须发生在同一个元素上
真的,为什么你要在点击中移动按钮?我怀疑这个问题实际上是一个设计问题,因此不应该使用javascript来解决。我会尝试对必要的点击事件使用.bind和.unbind jquery函数。旁注:使用
console.log()
而不是警告testing@Mohit如果这个问题的任何答案对你有帮助,请考虑接受或投票回答。即使我在回答中提供了同样的东西,我也不相信鼠标点击是点击的替代品。因为正如你在按住鼠标时所说的,我应该能够恢复单击的决定。我认为超时的那一个也不好。。但只是一些选择…:)我同意。但是这个用户在现实中有一个设计问题,要求用户点击一个移动的按钮,wtf是这样吗?我只是觉得这更清晰,更不神奇。真的。。。从最终用户的角度来看,这也是在要求糟糕的可用性。。。尤其是当你向客户展示它是自找麻烦的时候……是的,在模糊上移动一个元素,很糟糕。谢谢大家的回复。用例是有一个带有输入控件的表单,有一个按钮可以清除所有的输入控件和验证消息。客户端验证在输入控件模糊时启动,这些消息也必须消失。即使使用mousedown,该用例也无法工作。因为,鼠标按下将触发清除字段,然后onblur将被触发,显示验证消息。将按钮放在顶部,将div放在底部。(index.html解决方案)