2013-04-29 132 views
0

Im卡住了一个奇怪的问题,我有说类.element的元素,其中一些是包含文本的div,当它们被双击时ContentEditable属性变为true,因此用户可以编辑文本和一个名为disabled的类被添加到正在编辑的元素中。其原因是.element也附加了mousedown事件,并且我不希望在编辑元素时触发事件,因为用户可能想要选择文本或重定位插入符号。要做到这一点我已经添加了这样的事情我的鼠标按下事件:输入textarea select与mousedown事件冲突

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

它不工作,但如果我摆脱我的鼠标按下事件,并使用“click”事件,相反,它完美的作品。我该怎么办 ?

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

+4

上的演示http://JSFiddle.net或http://TinkerBin.com哪里出了问题被再现的将使其更容易帮助 – 2013-04-29 12:34:22

+0

确保@AmaanCheval我会继续努力 – 2013-04-29 12:37:55

+0

@AmaanCheval示例添加队友 – 2013-04-29 12:57:36

回答

1

mousedown事件中有一个return false;事件,这是阻止用户选择文本或移动脱字号的原因。因为所有你想要做的return false;的原因是阻止之后的代码执行,你可以通过return执行任何操作。

所以即使这个就足够了:

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