输入textarea select与mousedown事件冲突
问题描述:
Im卡住了一个奇怪的问题,我有说类.element
的元素,其中一些是包含文本的div,当它们被双击时ContentEditable
属性变为true,因此用户可以编辑文本和一个名为disabled
的类被添加到正在编辑的元素中。其原因是.element
也附加了mousedown事件,并且我不希望在编辑元素时触发事件,因为用户可能想要选择文本或重定位插入符号。要做到这一点我已经添加了这样的事情我的鼠标按下事件:输入textarea select与mousedown事件冲突
if(element.hasClass("disabled")) return false;
它不工作,但如果我摆脱我的鼠标按下事件,并使用“click”事件,相反,它完美的作品。我该怎么办 ?
编辑:这里是一个例子“http://jsfiddle.net/wqKke/ ......如果你注意到当你双击每个元素他们变得可编辑,但你不能选择或重新定位元素中的插入符号,所以它很难编辑该元素,但如果您将鼠标悬停更改为单击,则问题解决!
答
mousedown
事件中有一个return false;
事件,这是阻止用户选择文本或移动脱字号的原因。因为所有你想要做的return false;
的原因是阻止之后的代码执行,你可以通过return
执行任何操作。
所以即使这个就足够了:
if(element.hasClass("disabled")) return;
上的演示http://JSFiddle.net或http://TinkerBin.com哪里出了问题被再现的将使其更容易帮助 – 2013-04-29 12:34:22
确保@AmaanCheval我会继续努力 – 2013-04-29 12:37:55
@AmaanCheval示例添加队友 – 2013-04-29 12:57:36