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

时间:2013-09-18 22:50:28

标签: javascript jquery html

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

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

单击按钮时会显示警告。

所以这两件事都有效。但如果我的光标在文本框上,我试着点击按钮。然后单击不会引发。据我所知,由于按钮已移动,因此点击不会升高。那么,我的选择是什么

代码的掠夺者

http://plnkr.co/edit/TYXLeE?p=preview

3 个答案:

答案 0 :(得分:2)

DEMO

只需听听mousedown,无论如何,这正是你正在寻找的。

  $('#clickAbleButton').on('mousedown',function() {

点击是3个事件而不是一个,它们都必须出现在同一个元素上,

  1. 的MouseDown
  2. 的MouseUp
  3. 点击
  4. 该元素在mouseup之前移开,所以只需要听mousedown。


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

答案 1 :(得分:0)

index.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>

OR,script.js的最佳解决方案:

$(function() {
    $('#myInputText').on('mousedown',function()     
    {$('#everExpandingDiv').height($('#everExpandingDiv').height()+20);});
    $('#clickAbleButton').click(function() {
       alert('button click was raised');
    });
});

答案 2 :(得分:0)

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