Javascript 表演';document.execCommand';在';删除';keyevents-AngularJS
我已经创建了一个复制问题 每当执行删除操作时,我想应用删除命令。例如: 如果用户选择“文本”并按Javascript 表演';document.execCommand';在';删除';keyevents-AngularJS,javascript,angularjs,keyevent,Javascript,Angularjs,Keyevent,我已经创建了一个复制问题 每当执行删除操作时,我想应用删除命令。例如: 如果用户选择“文本”并按delete或backspace,则它应成为测试。它不应该被删除。 有人能帮我吗 $container.bind('keydown keyup', function (e) { console.log(e) if(e.keyCode===8 || e.keyCode===46){ $document[0].execCommand('strikeThrough', fal
delete
或backspace
,则它应成为测试。它不应该被删除。
有人能帮我吗
$container.bind('keydown keyup', function (e) {
console.log(e)
if(e.keyCode===8 || e.keyCode===46){
$document[0].execCommand('strikeThrough', false); // line 1
e.preventDefault(); // line 2
}
});
我可以按如下方式捕获事件,但是第1行
和第2行
不能一起工作。那么,如何停止delete
事件并应用execCommand
?您确实绑定了“两次”
这不是“不工作”,而是“工作两次”
修复代码如下所示:
$container.bind('keyup', function (e) {
console.log(e)
if(e.keyCode===8 || e.keyCode===46){
$document[0].execCommand('strikeThrough', false); // line 1
e.preventDefault(); // line 2
}
});
$container.bind('keydown', function (e) {
console.log(e)
if(e.keyCode===8 || e.keyCode===46){
e.preventDefault(); // line 2
}
});
你确实绑定了“两次”
这不是“不工作”,而是“工作两次”
修复代码如下所示:
$container.bind('keyup', function (e) {
console.log(e)
if(e.keyCode===8 || e.keyCode===46){
$document[0].execCommand('strikeThrough', false); // line 1
e.preventDefault(); // line 2
}
});
$container.bind('keydown', function (e) {
console.log(e)
if(e.keyCode===8 || e.keyCode===46){
e.preventDefault(); // line 2
}
});