jquery事件处理程序-根据特定键和操作触发函数
背景故事:当用户用鼠标选择文本字段中的一部分文本(手动标记),然后点击“alt”键时,会触发某个函数 我的问题是:jquery事件处理程序-根据特定键和操作触发函数,jquery,key,triggers,action,Jquery,Key,Triggers,Action,背景故事:当用户用鼠标选择文本字段中的一部分文本(手动标记),然后点击“alt”键时,会触发某个函数 我的问题是: 当发生错误时,如何触发函数 用户点击一个键(在她的键盘上) 如何保留选定文本的一部分,并将其用作 该函数的参数 我试着在网上查找,但没有找到任何好的答案,但我也非常感谢链接 $(document).keydown(function(event){ if (event.altKey) { var text = $.trim(getSelectedText(
- 当发生错误时,如何触发函数 用户点击一个键(在她的键盘上)
- 如何保留选定文本的一部分,并将其用作 该函数的参数
$(document).keydown(function(event){
if (event.altKey) {
var text = $.trim(getSelectedText());
if (text.length) {
console.log(text);
}
}
});
function getSelectedText() {
if (window.getSelection) {
return window.getSelection().toString();
} else if (document.getSelection) {
return document.getSelection();
} else if (document.selection) {
return document.selection.createRange().text;
}
}
如果要在文本输入或文本区域中获取所选文本,可以执行以下操作:
$(':text, textarea').keydown(function(event){
if (event.altKey) {
var text = '';
if ('selectionStart' in this){
var length = this.selectionEnd - this.selectionStart;
text = $.trim($(this).val().substr(this.selectionStart, length));
} else if (document.selection) {
text = $.trim(document.selection.createRange().text);
}
if (text.length) {
console.log(text);
}
}
});
如果要在文本输入或文本区域中获取所选文本,可以执行以下操作:
$(':text, textarea').keydown(function(event){
if (event.altKey) {
var text = '';
if ('selectionStart' in this){
var length = this.selectionEnd - this.selectionStart;
text = $.trim($(this).val().substr(this.selectionStart, length));
} else if (document.selection) {
text = $.trim(document.selection.createRange().text);
}
if (text.length) {
console.log(text);
}
}
});
非常感谢你的回答。我试着用alert(文本)来做这件事,但它什么也没提醒。你认为为什么会发生这种情况?当你按alt键时是否选择了某个对象?是的,有。我在一个输入字段中写下了“这太棒了”,对其进行了标记,点击alt,它没有发出任何警报(我将警报放在.keydown函数中嵌套的if之后。(我发出警报,但警报框中没有显示任何内容)。等等!它确实起作用,但当我标记已经写入文档的文本时。但是写入文本(如写入字段)我做了标记,但没有提醒。是的,我应该强调一下。你认为有办法做到这一点吗?非常感谢你的回答。我试着用提醒(文本)来做这件事,但它没有提醒。你认为为什么会发生这种情况?当你按alt键时是否选择了某些内容?是的,有。我写下了“这太棒了”在一个输入字段中,标记它,点击alt,它没有发出任何警报(我将警报放在.keydown函数中嵌套的if之后。(我发出警报,但警报框中没有显示任何内容)。等等!它确实起作用,但当我标记已经写入文档的文本时。但是写入文本(如写入字段)我知道,它不警觉。是的,没错,我应该强调一下。你认为有办法做到这一点吗?