【发布时间】:2015-06-26 14:21:11
【问题描述】:
我正在开发一个项目,默认的拖放行为对我来说并不理想。因此,我没有将draggable="false" 写入我所有的<a> 和<img> 标签上,而是使用jQuery 将draggable 属性设置为就绪。
$('a, img').attr('draggable', 'false');
但我也有动态添加的内容,所以我再次调用在加载该内容时将拖动设置为 false 的函数。
我的问题是,为什么首先启用此行为?是否应该由开发人员选择是否启用拖动? - 我不得不竭尽全力禁用拖动,也许有更好的解决方案。默认情况下启用行为是否与 HTML 的语义相矛盾?即普通的<a href="#"> 并没有将其描述为可拖动,但确实如此。
【问题讨论】:
-
因为标准浏览器行为是允许拖放链接/图像以创建快捷方式或在目标“放置”窗口中打开该链接。
-
你总是很难改变浏览器的工作方式。如果您正在努力改变默认行为,您可能会走错路。为什么会引起问题? “我不希望默认的拖放行为”,但用户完全可以预期
-
我怀疑这是一个虚构的问题,实际上不需要解决。为什么这个网站覆盖标准浏览器行为如此重要?这似乎类似于想要禁用右键单击的开发人员,并且可能会遇到同样的用户挫败感。
-
@doveyg:提供上下文拖放确实很有用。一揽子否认主机系统的任何和所有拖放都是不正确的。
-
@David 我们正在创建一个数据库应用程序,用户将数据输入到文本字段中。在用户测试期间,我们发现一些用户将链接和图像拖到输入字段中,我们的一些
<a>具有 Javascript 函数作为 href(我知道,不是我决定的) - 所以我们想禁用拖放-drap 防止使用提交拖拽和提交链接。
标签: javascript jquery html draggable