2014-02-13 55 views
1

我試圖從這個HTML中刪除類.words,只要點擊它或者按鍵發生在它上面。如何在內容可編輯div中刪除HTML,如果它位於光標位置下方?

<div id="content" contenteditable="true"> Here are <span class="words" id="whatever">some</span> words </div> 

我已經試過

$('.words').click(function() { $(this).remove(); }); 

more,除非我在一個字和循環點擊超過.words使用左右鍵(因爲它是內容編輯)的工作。我希望在光標位於類上時立即將其刪除。謝謝。

+0

我認爲這個問題已經回答過了? http://stackoverflow.com/questions/1197401/how-can-i-get-the-element-the-caret-is-in-with-javascript-when-using-contentedi –

回答

1

像這樣的東西?

var words = $('.words')[0]  

$('#content').keyup(function(){  
    if (words == getSelectionStart()){ 
     $(words).remove() 
    } 
}) 

function getSelectionStart() { 
    var node = document.getSelection().anchorNode; 
    return (node.nodeType == 3 ? node.parentNode : node); 
} 

例子:http://jsfiddle.net/nickg1/ttMJW/1/

相關問題