有人可以解釋爲什麼點擊一個按鈕會觸發瀏覽器編輯在contentEditable div但點擊一個調用相同的execCommand沒有?在http://jsfiddle.net/GgX8G/3/我有一個按鈕和一個div觸發同樣的代碼,但只有按鈕執行大膽的行動:爲什麼我不能通過點擊DIV來加粗文本?
<div id="boldB">B</div>
<button id="bld">B</button>
$(document).ready(function(){
$('#boldB').click(function() {
document.execCommand('bold', false, null);
alert("clicked the B div");
});
$('#bld').click(function() {
document.execCommand('bold', false, null);
alert("clicked the B button");
});
});
感謝
它在我看來像一個焦點問題。您會注意到,當您單擊div時,contenteditable中突出顯示的文本會失去焦點,而不會出現在按鈕單擊上。如果首先使用div作爲按鈕,您可能需要將突出顯示的範圍存儲在模糊處。我可以問你爲什麼需要使用div,當你可以輕鬆地按下你想要的按鈕樣式嗎? – TommyBs
你需要這個嗎? http://jsfiddle.net/GgX8G/4/ – ant
你的意思是? http://jsfiddle.net/GgX8G/8/ –