[英]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.