2011-05-14 112 views
0

我附加了刪除鍵文件,所以當刪除鍵被按下時,div被刪除。但是,當我在textarea裏面時,我不想要這種行爲。 textarea裏面的刪除鍵只能刪除文本,不會影響文檔和刪除div。以下不起作用;jQuery文檔刪除鍵

$(document).keyup(function() { 
    if (e.which == 46) { 
     $('div').remove() 
    } 
}) 

檢查http://jsfiddle.net/a3Vdu/2/

回答

2

根據觸發事件的元素的類型檢查是否有效。

if (/input|textarea/i.test(e.target.tagName)) { 
    return; 
} 

這是它添加到您的例子 http://jsfiddle.net/JY46t/

+0

非常好的解決方案。照顧輸入和textarea。 – Pinkie 2011-05-14 04:52:43

0

你需要一個處理程序綁定到它的textarea泡到文檔之前捕獲事件。爲您的texarea寫一個類似的功能:

$("#mytextarea").keyup(function(e) {}, false); 

包含'false'可以防止事件冒泡。

+0

這不起作用http://jsfiddle.net/a3Vdu/3/ – Pinkie 2011-05-14 04:50:41