2013-04-29 42 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;