[英]Multiple key presses in JavaScript only working in IE
我有以下代碼:
function handle_paste_keydown(key)
{
if(key.keyCode == 86 && key.ctrlKey) // Ctrl + V
{
alert("Test...");
}
}
這在IE中有效,但其他瀏覽器均不起作用。 我這樣做的原因是我已經完成了一個富文本編輯器的創建,但是我需要仔細處理onpaste事件,因為格式化的文本能夠將其放入我的編輯器中,這可能對安全性造成較小的風險,但是如果有惡意的<span>
和<div>
進入,則屠宰我的布局。
我當前的方法是將焦點放在屏幕外的文本區域,這意味着所有代碼都將粘貼到該區域(這將刪除格式); 然后我立即抓取textarea.value並將其插入到contentEditable <div>
當前插入符號的位置。
why doesn't it work in its current state? 因此,無論如何,我如何使Ctrl + V在所有瀏覽器中都能工作為什么它不能在當前狀態下工作?
謝謝。
如果它在IE中有效,但您在其他任何地方都做錯了。
使用keypress事件而不是keydown。
document.getElementById('foo').onkeypress = function(e) {
if(e.charCode == 118 && e.ctrlKey) alert('pasted');
};
@Eric Sites:“使用jQuery”並不是每個JavaScript問題的答案。 包括一個完整的外部框架來解決一個簡單的4byte問題是很荒謬的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.