【发布时间】:2012-10-04 03:09:31
【问题描述】:
当用户双击水平列表时,我有一个功能,该元素被移动到另一个 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>
【问题讨论】:
-
我不知道如何在咖啡脚本中做到这一点,但你只需要做
if ($(event.target).is("input")) return;或类似的东西。 -
@KevinB:将其发布为答案。
标签: javascript jquery coffeescript mouseevent double-click