通过e.preventDefault()禁用防止快捷方式和一些鼠标事件

时间:2017-09-18 15:53:58

标签: javascript jquery html contenteditable preventdefault

我在我的网站(和JS / JQuery)上使用contenteditable。我的限制(最大长度)为160个字母。当谈到160时,函数addOnTypeKeyDown()触发(键入时)e.preventDefault(),但此函数阻止 Ctrl + C ,防止鼠标选择,防止 Ctrl + A ,只要我点击退格键(因此e.preventDefault()无效)。

我的问题是如何在不让用户输入字母的情况下“打开”上面的选项( Ctrl + C 等等......)。

我知道我可以使用输入或textarea,但我问如何使用contenteditable解决这个问题?

我使用e.which作为 Ctrl + C 和鼠标事件,但这不起作用。

功能如下:

function addOnTypeKeyDown(event){
    var cntMaxLength = parseInt($(this).attr('maxlength'));

    event = event || window.event;

    if ($(this).text().length >= cntMaxLength) {
        if(!(event.which==8))
        {
            event.preventDefault();
            $(this).parent().find("#error").css("display", "block");
        }
    }
    else{
        $(this).parent().find("#error").css("display", "none");
    }
}

感谢您的时间和精力。

0 个答案:

没有答案