【问题标题】:how to capture doubleclick on a checkbox如何捕获双击复选框
【发布时间】:2016-04-18 12:12:58
【问题描述】:

我想在 javascript 中执行检测双击的操作。你能告诉我同样的吗?这是一个结合标签+复选框的复杂控件。

<td class=" odd" title="Double click to edit.">
<label class="cb_label_right">
<input id="check1_table#rowName#0" type="checkbox" data-ctrl="JSCtrl" disabled="">
<span>Row Name</span>
</label>

tablecell.ondblclick = function(){alert( "Double Clicked" );};

在上面的行中,如果我点击标签;检测到双击但未在复选框上

<input type="checkbox" disabled="disabled" />
<span>Fat Lock11</span>
<div style="position:absolute; left:0; right:0; top:0; bottom:0;">
</div>

以上代码适用于示例代码。我是 Javascript 新手,如何将 Javascript 转换为单行

【问题讨论】:

  • 你在收听checked/unchecked事件吗?
  • 问问自己最后一次双击复选框是什么时候?这不是你见过的东西,也不是很直观。另请注意,您不能单击禁用的输入,不会触发鼠标事件。
  • Event on a disabled input的可能重复

标签: javascript jquery html checkbox


【解决方案1】:

$( "#check1").dblclick(function() {
  alert( "Double Clicked" );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="check1" type="checkbox" data-ctrl="JSCtrl">

【讨论】:

    【解决方案2】:

    $('#check1').on('dblclick',function() {
      alert("Clicked");
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input id="check1" type="checkbox" data-ctrl="JSCtrl">

    【讨论】:

      【解决方案3】:

      试试

      $( "#check1").bind("dblclick",function() {
         console.log("event occur");
      });
      

      【讨论】:

      • 这与 ViKu 的 answer 已经说过要做的有什么不同?
      • 以上解决方案不适用于我的复杂控件。任何其他建议请
      • 你能分享一下小提琴吗?
      • 我编辑了我的查询,其中添加 div 有助于解决我的问题。但不幸的是,它只适用于一排。如果存在多行,则焦点将转移到最后一行,并在最后一行上执行与双击相对应的操作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多