2016-05-05 51 views
0

內CONTENTEDITABLE是不可編輯的我有這個simple html火狐:如果它嵌套拖動父

<div draggable=true> 
    <div contenteditable=true>can't edit me</div> 
</div> 

在Chrome中,我可以編輯的CONTENTEDITABLE的內容,但我不能這樣做,在Firefox和IE。這是一些已知的問題?爲什麼Chrome允許編輯?任何現有的解決方法?

+0

https://github.com/kenwheeler/slick/issues/479 –

+0

@IsmailFarooq,不,這是一個不同的情況 –

回答

1

問題是draggable元素的點擊處理與contenteditable處理衝突 - 都需要您單擊,以便使用哪個處理程序?

有幾個選項可以選擇。當你點擊,從而使用戶能夠專注於可編輯內容的版本低於禁用draggable,然後啓用它,如果你雙擊改爲:

<div class="content"> 
    <span>Edit and drag me</span> 
</div> 

$(".content").draggable() 
    .click(function() { 
    $(this).draggable({ disabled: false }); 
}).dblclick(function() { 
    $(this).draggable({ disabled: true }); 
}); 

另外,有一個很好的解決方案here涉及設置draggablehandle屬性經由類別選擇器(其用CSS定位)到外部元素。這可能比單擊事件更好,但這取決於您的使用情況。

更新 我添加了一個稍有修改的解決方案,我鏈接到上面的here。您可以編輯文本以及通過手柄圖標拖動整個文件。

+0

謝謝,我很感激,如果你展示它爲我的情況,因爲它有點不同於一個在你提供的鏈接 –

+0

看到我的更新。我希望這可以幫助你。 –

+0

我現在看到了,謝謝。它不使用瀏覽器的本地可拖動功能。我想知道是否有任何方法實現類似的方法與本地功能? –