可信的div中的事件监听器在1个事件(chrome)之后停止工作

时间:2017-08-10 13:36:28

标签: javascript jquery html google-chrome

我正在我的网站上创建文本编辑功能,为此我使用了一个contenteditable容器,其中可以添加额外的div,用于输入需要特殊格式的文本,插入我使用InsertHTML命令的div。然后我使用jQuery添加一个keydown事件,用于更改选项卡的默认行为并输入按钮,此事件似乎只工作一次然后没有响应。

以下是我用来将div插入我的contenteditable容器的代码:

document.execCommand("insertHTML", false, '<div class="code_edit_block" contenteditable tabindex="1">Enter text here</div><br>');
$(".code_edit_block").on("keydown",function(e){
    console.log(e.keyCode);
    if(e.keyCode===9){
        e.preventDefault();
        document.execCommand("insertHTML", false, "&emsp;");
        $(".code_edit_block").focus();
    }
    else if(e.keyCode===13){
        e.preventDefault();
        document.execCommand("insertHTML", false, "<br><br>");
        $(".code_edit_block").focus();
    }
});

使用函数调用此代码,每次单击按钮时,包含此代码的函数称为

可信容器的一般结构:

<div id="tutorial_text_edit_div" class="tutorial_text_div" contenteditable >
    user text
    <div class="code_edit_block" contenteditable tabindex="1">
        inserted formatting div with user content
    </div>
    more user text
    <div class="code_edit_block" contenteditable tabindex="1">
        inserted formatting div with user content
    </div>
</div>

此代码在firefox上没有问题,但在google chrome上,事件监听器只在它停止工作之前触发一次,有人能告诉我为什么会这样吗?

0 个答案:

没有答案