두 개의 DIV 요소가있는 페이지가 있습니다. 사용자가 CTRL + ENTER 버튼 콤보를 누르면, 이전에 선택한 텍스트 (alert()를 통해)를 표시해야합니다. 나는 solution을 발견했고 그것은 매력처럼 작동하지만 여전히 남아있는 것이 하나 있습니다.jQuery : 특정 div에서만 트리거 keydown
선택한 텍스트가 "main_content"클래스의 DIV 안에있는 경우에만 이벤트 트리거를 만들어야합니다. $ ('DIV.main_content')에 keyup
을 할당하려고 시도했지만 작동하지 않습니다.
$ ('DIV.main_content') 안에있는 텍스트가 선택된 경우에만 이벤트 트리거를 만들 수 있습니까? Selection
객체가 아닌 문자열을 반환 window.getSelection()
: 당신은 getSelectedText()
기능에 오류가
// 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
대단히 감사합니다. 그런 식으로 생각조차하지 않았습니다. 나는 너의 프로젝트를 너무 체크 아웃했다. 당신의 일에 행운을 비네! :) –