1
我一直在嘗試使用下面的方法,已在許多SO職位和tinyMCE的站點被提及,以及捕捉時TinyMCE的場模糊:tinyMCE的3.5模糊事件觸發被點擊工具欄按鈕時
tinyMCE.dom.Event.add(ed.getDoc(), 'blur', onBlur);
但是,我注意到即使用戶單擊tinyMCE工具欄上的按鈕(如粗體,斜體,下劃線),也會觸發此事件。有什麼辦法可以防止這種情況發生。我已經嘗試了幾種不同的解決方案來檢查被點擊的目標元素,但沒有提出在所有瀏覽器中一致工作的任何內容。
嘗試:
function onBlur(e) {
if($(e.target.activeElement).hasClass('mceIcon')) return;
// do something
}
function onBlur(e) {
if($(e.target.activeElement).parents('#' + ed.editorContainer).length > 0) return;
// do something
}
另外,我注意到,這似乎是一個IE8(可能還有其他IE版本也一樣)的特定錯誤。這是一個顯示行爲的JSFiddle:http://jsfiddle.net/klinden/8rs4j控制檯記錄所有調用模糊的實例。