删除 mouseleave 上的 contenteditable 属性

use*_*340 4 javascript jquery

我正在开发一个界面,它允许用户通过右键单击 div 来编辑 div。我已经能够使用 jquery 实现这一点。

用户完成编辑后,鼠标移出 div,我希望 div 像以前一样变得不可编辑。我发现我可以使用jquery的mouseleave函数,但我不确定它到底应该写在哪里。我尝试使用 mouseevent 如下所示,但它不起作用。

$(".list").contextMenu({
        menu: 'listMenu'
    },
    function(action, el, pos) {
        if(action=='edit'){
            $(el).attr('contenteditable','true');
            $(e1).mouseleave(function() {
                $(e1).attr('contenteditable','false');
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

ant*_*rat 6

尝试使用prop()instad:

$( el ).prop('contenteditable', false );
Run Code Online (Sandbox Code Playgroud)

&&

$( el ).prop('contenteditable', true );
Run Code Online (Sandbox Code Playgroud)
  • 请注意,我使用的是布尔值,而不是字符串。

正如评论中提到的,你有一个错字:e1应该是el