我有一個DIV元素的幾個頁面。當用戶按下CTRL + ENTER組合鍵時,我需要顯示(通過alert())該用戶以前選擇的文本。我發現solution,它的功能就像一個魅力,但還剩下一件事。jQuery:觸發keydown只在特定div
只有當選定文本位於類「main_content」的DIV中時,才需要進行事件觸發。我試圖將keyup
分配給$('DIV.main_content'),但它不起作用。
只有在$('DIV.main_content')內的文字被選中的情況下才有辦法讓事件觸發嗎?
下面是對整個文檔觸發工作代碼:
// Get user selection text on page
function getSelectedText() {
if (window.getSelection) {
return window.getSelection();
}
else if (document.selection) {
return document.selection.createRange().text;
}
return '';
}
$(document).ready(function(){
$(document).keydown(function(e) {
if(e.which == 13 && e.ctrlKey) {
alert(getSelectedText());
return false;
}
});
});
See the code with markup in jsFiddle
非常感謝你,我什至沒有想到這樣的事情 - 你會得到我的完全尊重。我也檢查了你的項目,rangy很棒!祝你工作順利! :) – 2011-01-07 14:18:27