Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果div正在向下移动,则单击按钮不触发_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如果div正在向下移动,则单击按钮不触发

Javascript 如果div正在向下移动,则单击按钮不触发,javascript,jquery,html,Javascript,Jquery,Html,因此,用例有一个div、一个按钮和一个文本框 在文本框的模糊事件中,div展开 单击按钮时,会显示警报 所以这两种方法都有效。但是如果我的光标在文本框上,我尝试点击按钮。然后,单击不会被引发。我知道,由于按钮已移动,所以单击不会被提升。那么,我的选择是什么 代码的插入器 索引上的快速解决方案。html: <body> <h1>Hello Plunker!</h1> <input type="button" id="clickAbleButton" va

因此,用例有一个div、一个按钮和一个文本框

在文本框的模糊事件中,div展开

单击按钮时,会显示警报

所以这两种方法都有效。但是如果我的光标在文本框上,我尝试点击按钮。然后,单击不会被引发。我知道,由于按钮已移动,所以单击不会被提升。那么,我的选择是什么

代码的插入器


索引上的快速解决方案。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() {
单击是三个事件,而不是一个,它们都必须发生在同一个元素上

  • 穆斯敦
  • 鼠标
  • 点击
  • 元素在mouseup之前移动,所以只需听mousedown



    真的,为什么你要在点击中移动按钮?我怀疑这个问题实际上是一个设计问题,因此不应该使用javascript来解决。

    我会尝试对必要的点击事件使用.bind和.unbind jquery函数。

    旁注:使用
    console.log()
    而不是警告testing@Mohit如果这个问题的任何答案对你有帮助,请考虑接受或投票回答。即使我在回答中提供了同样的东西,我也不相信鼠标点击是点击的替代品。因为正如你在按住鼠标时所说的,我应该能够恢复单击的决定。我认为超时的那一个也不好。。但只是一些选择…:)我同意。但是这个用户在现实中有一个设计问题,要求用户点击一个移动的按钮,wtf是这样吗?我只是觉得这更清晰,更不神奇。真的。。。从最终用户的角度来看,这也是在要求糟糕的可用性。。。尤其是当你向客户展示它是自找麻烦的时候……是的,在模糊上移动一个元素,很糟糕。谢谢大家的回复。用例是有一个带有输入控件的表单,有一个按钮可以清除所有的输入控件和验证消息。客户端验证在输入控件模糊时启动,这些消息也必须消失。即使使用mousedown,该用例也无法工作。因为,鼠标按下将触发清除字段,然后onblur将被触发,显示验证消息。将按钮放在顶部,将div放在底部。(index.html解决方案)