0

我陷入了一个奇怪的问题,我有一个带有说 class 的元素.element,其中一些是包含文本的 div,当它们被双击时,ContentEditable属性变为 true,因此用户可以编辑文本并将一个名为的类disabled添加到正在编辑的元素中. 原因是它还.element附加了一个 mousedown 事件,我不希望在编辑元素时触发该事件,因为用户可能想要选择文本或重新定位插入符号。为此,我在 mousedown 事件中添加了类似的内容:

if(element.hasClass("disabled")) return false;

这不起作用,但如果我摆脱我的 mousedown 事件,并改用“click”事件,它会完美运行。我应该怎么办 ?

编辑:这是一个示例“ http://jsfiddle.net/wqKke/ ...如果您注意到双击每个元素时它们变得可编辑,但是您无法选择或重新定位元素中的插入符号,所以编辑该元素真的很难,但是如果您将鼠标悬停更改为单击,问题就解决了!

4

1 回答 1

1

您有一个return false;事件mousedown,这是阻止用户选择文本或移动插入符号的原因。我看不出有什么理由让return false;你想要做的就是阻止代码执行之后,你可以通过returning 任何东西来做到这一点。

所以即使这样就足够了:

if(element.hasClass("disabled")) return;
于 2013-04-29T23:37:40.087 回答