繁体   English   中英

jQuery trigger()在textarea上具有keydown / up事件

[英]jQuery trigger() with keydown/up event on textarea

JSFiddle在这里 -使用console.log()。

window.evtqueue = [];

window.eventHold = function(e){
    console.log(e.held);
    if (typeof(e.held)==typeof(undefined)){
        e.held = 1;
        window.evtqueue.push(e);

        console.log(e.type+" - "+e.which);
        window.setTimeout(function(){
            console.log("Triggering: "+e.type+" = "+e.which);
            var evt = window.evtqueue.splice(0,1)[0];
            $('#edittext').trigger(evt);
        }, 1000);
        return false;
    } else {
        console.log("Event actually triggered!");
    }
}

$('#edittext').on('keydown keyup', window.eventHold)

我正在制作一个富文本编辑器,并且在快速键击与异步代码方面存在一些问题(这是我无法控制的),因此,我决定创建一个事件队列。 但是,我很难用.trigger()触发保存的事件,而且当我可以管理它们时,它们似乎没有触发默认值。

我想念什么? 这是否需要绑定更多事件才能实际触发默认值,例如按键? 是否由于原始绑定事件事物返回false而导致失败(尽管这是异步的)?

是的,这是因为触发事件之前您返回了false

如果返回false,则

event.isPropagationStopped() and event.isDefaultPrevented() is true

源代码显示,如果两个都为true,则trigger方法将不执行任何操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM