javascript - 将鼠标悬停在选择器上时,Jquery 禁用双击

标签 javascript jquery coffeescript mouseevent double-click

我有一个功能,当用户双击水平列表时,该元素将移动到另一个 div。此无序列表中的 li 标记之一是文本输入字段。我只想禁用该特定字段的双击行为。由于输入字段是 ul 元素的一部分,我似乎无法找到一种方法来防止双击该文本框时触发双击事件。这就是我所拥有的。感谢 js2coffee.org,我接受 coffeescript 或常规 javascript 的答案:)

如果双击两次,以下代码会将水平的 ul 元素移动到另一个 div 并返回到原始元素。效果很好。将鼠标悬停在输入字段上时如何暂时禁用它。

$(".available_product_shipments").on "dblclick", ".product", ->
  $(this).appendTo ".product_shipments"
$(".product_shipments").on "dblclick", ".product", ->
  $(this).appendTo ".available_product_shipments"

和等效的 JS:

$(".available_product_shipments").on("dblclick", ".product", function() {
  $(this).appendTo(".product_shipments");
});

$(".product_shipments").on("dblclick", ".product", function() {
  $(this).appendTo(".available_product_shipments");
});

html的结构是这样的

<ul>
  <li class="product">
    <ul>
      <li class="avail_qty_field"><input type="text /></li> #Prevent dblclick here
      <li>...</li>
      <li>...</li>
    </ul>
  </li>
  <li class="product">
    <ul>
      <li class="avail_qty_field"><input type="text /></li> #Prevent dblclick here
      <li>...</li>
      <li>...</li>
    </ul>
  </li>
</ul>

最佳答案

我不知道如何在 CoffeeScript 中做到这一点,但你只需要这样做

if ($(event.target).is("input")) return; 

或类似的东西。

这是非 coffesscript 版本:

$(".available_product_shipments").on("dblclick", ".product", function(e) {
  if ($(e.target).is("input")) return;
  $(this).appendTo(".product_shipments");
});

$(".product_shipments").on("dblclick", ".product", function(e) {
  if ($(e.target).is("input")) return;
  $(this).appendTo(".available_product_shipments");
});

这就是它在 coffeescript 中的样子

$(".available_product_shipments").on "dblclick", ".product", (e) ->
  return  if $(e.target).is("input")
  $(this).appendTo ".product_shipments"

$(".product_shipments").on "dblclick", ".product", (e) ->
  return  if $(e.target).is("input")
  $(this).appendTo ".available_product_shipments"

关于javascript - 将鼠标悬停在选择器上时,Jquery 禁用双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12714571/

相关文章:

javascript - 内容丰富的本地文件下载

javascript - 如何在第一个组合框更改后获取第二个组合框值(jquery)

javascript - localStorage - 检索复选框值

javascript - 您如何抓取字段以进行自动标记?

jquery - 将图像放在 div 元素中并保持图像比例

php - Valums jquery uploader 可以工作但返回 "Failed"

javascript - 访问 QuillJS 中的书面文本

javascript - Rails 3 javascript 细 CoffeeScript 引用错误(类)未定义

javascript - 记录每个方法?

javascript - Angular Nvd3 - 工具提示自定义不起作用