我的網站上有一個小小的wysihtml5問題。我想只允許少數html標記,如果我從解析器規則中刪除下劃線,並且甚至可以從wysihtml5庫中下劃線命令,我仍然可以按CTRL(命令)+ U使選定文本下劃線。我該怎麼做才能擺脫這種行爲? 感謝您的任何建議。wysihtml5 - 如何禁用下劃線標記
回答
最新回答:這是我更新的解決方案。我updated the existing keydown event handler(和added a keyup handler跟蹤CTRL按下狀態)如下:
// --------- Shortcut logic ---------
var ctrlDown = 0;
dom.observe(element, "keydown", function(event) {
var keyCode = event ? event.which : window.event.keyCode,
command = shortcuts[keyCode];
if (1 == event.ctrlKey) {
console.log('Ctrl key pressed. Setting ctrlDown = 1.');
ctrlDown = 1;
}
if (85 == keyCode && 1 == ctrlDown) {
console.log('Pressed "U" (keyCode 85), but Ctrl key still down. Don\'t fire!');
return event.preventDefault(), !1;
}
if (1 == ctrlDown && !event.altKey && command) {
console.log('Shortcut Ctrl + keyCode ' + keyCode + ' triggered.');
that.commands.exec(command), event.preventDefault();
}
});
dom.observe(element, "keyup", function(event) {
// note: "event.ctrlKey" doesn't work with keyup, use keyCode/which
if (17 == (event ? event.which : window.event.keyCode)) {
console.log('Ctrl key released. Setting ctrlDown = 0.');
ctrlDown = 0;
}
});
原來的答覆:所有我需要做的,禁用Ctrl + U鍵鍵盤快捷鍵,是刪除鍵代碼爲「U」(85)從快捷鍵在行8494中wysihtml5-0.4.0pre.js
對象。
變化
shortcuts = {
"66": "bold", // B
"73": "italic", // I
"85": "underline" // U
};
到
shortcuts = {
"66": "bold", // B
"73": "italic" // I
};
,您將不再能夠使用Ctrl +在編輯器中ü快捷方式。
或者,您可以捕獲keydown事件並禁用Ctrl + U快捷方式(即防止默認行爲)。喜歡的東西:
// --------- disable ctrl+u shortcut for underlining texts ---------
dom.observe(element, "keydown", function(event) {
if ((event.ctrlKey || event.metaKey) && 'u' == String.fromCharCode(event.which).toLowerCase()) {
// do something
}
});
我試圖刪除85快捷方式,它不起作用,所以這就是我創建該問題的原因(+它忽略瞭解析器規則)。 是的,捕捉keydown可能是解決方案,我正在考慮類似的東西,所以我編輯了一下你的代碼,現在我很開心。好吧,非常感謝你,我的名聲100 :-) – Droidik
轉儲問題..當你刪除85快捷方式,你剛剛重新編輯頁面,或者你試圖強制重新加載,以避免JS瀏覽器緩存?對我來說,情況也是如此。 85快捷鍵的移除是我第一次嘗試。當它沒有在第一個實例中工作時,我嘗試了關鍵的偵聽器,後來才意識到腳本被緩存了(儘管我重新加載了這個頁面幾次)。無論如何,很高興你找到了一個工作解決方案Grüßevon der Schanze;) – eyecatchUp
我總是刪除緩存並在不同的瀏覽器中測試幾次,所以刪除快捷方式對我來說真的不起作用。 是的,我也很高興它的作品! 再次,DankefürIhre Hilfe! – Droidik
- 1. 禁用錨標記並刪除下劃線中的下劃線
- 2. Notepad ++下劃線標記
- 3. 如何使用下劃線
- 4. Eclipse CDT:禁用紅色下劃線
- 5. NetBeans。禁用錯誤檢查下劃線
- 6. 禁用MenuItems的下劃線解釋
- 7. 如何使下劃線標記所有瀏覽器
- 8. 下劃線光標下
- 9. 如何用下劃線評估下劃線中的JavaScript函數?
- 10. 禁用WPF標籤加速鍵(缺少文本下劃線)
- 11. 用下劃線
- 12. 用下劃線
- 13. 我該如何製作阻礙其下劃線的文本,用HTML/CSS中的空白標記「下劃線」下劃線?
- 14. CSS標題下劃線
- 15. 如何禁用HTML標記?
- 16. 下劃線_.intersection() - 如何?
- 17. 使用下劃線作爲標記的分割字符串
- 18. 用純jQuery製作html標記VS下劃線模板方法
- 19. 如何在IIRF規則中用'下劃線'代替'短劃線'?
- 20. 如何在內部區域用短劃線代替下劃線?
- 21. ID標籤用紅色下劃線
- 22. 下劃線標題 - 縮小線
- 23. 加下劃線或不加下劃線
- 24. 文本下劃線顯示下劃線
- 25. 如何在不使用CoreText的情況下將多線標籤下劃線?
- 26. 使用下劃線
- 27. 下劃線如何使用省略
- 28. 如何用UIWebView畫下劃線文字
- 29. 允許HTML輸入標記和值wysihtml5
- 30. Java - 助記符下劃線位置
那是一個錯誤,告訴他們https://github.com/xing/wysihtml5/issues(如果我們談論這個編輯器) – Luke
這是我的錯誤... – Droidik