我有这两个功能:
var $mainEdit= $("#main-edit");
function getSelText()
{
var txt = '';
if (window.getSelection)
{
txt = window.getSelection();
}
else if (document.getSelection)
{
txt = document.getSelection();
}
else if (document.selection)
{
txt = document.selection.createRange().text;
}
else return;
return $("#clipboard").val(txt);
}
$mainEdit.mouseup(function(){
$("#clipboard").val("");
getSelText();
}).mousedown(function(){
$("#clipboard").val("");
getSelText();
});
我想要做的是,在keyup事件中...将删除突出显示的元素。
所以,如果我有这个HTML:
<span>a</span>
<span>b</span>
<span>c</span>
并突出显示a和b,在keyup事件中,前两个跨度将被删除。
答案 0 :(得分:0)
这是一个用于删除所选内容的跨浏览器功能:
function deleteSelected() {
if (window.getSelection()) {
window.getSelection().deleteFromDocument();
} else if (document.selection) {
document.selection.clear();
}
}
将其挂钩到keyup
事件:
$mainEdit.keyup(deleteSelected);