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