我有一個jquery排序插件,它工作得很好,但是如果我做一些拖動操作,mouseup事件開始變得非常慢。觸發事件時大約需要 1 秒鐘。如果我轉儲鼠標移動事件的結束,它會立即停止,但鼠標啟動事件在第二個之后開始。我為代碼中的每個方法添加了控制臺.log(),但在拖動停止和鼠標上移動之間沒有調用??赡苁鞘裁磫栴}?如何在瀏覽器中調試可能的并行進程?代碼如下所示: .... state.doc .on( 'mousemove', dragging ) .on( 'mouseup', endDrag ); } /** * @desc Start dragging * @param e event obj. */ function dragging( e ) { ... console.log('dragging end'); } function endDrag( e ) { var cEl = state.cEl, hintNode = $( '#sortableListsHint', state.rootEl.el ), hintStyle = hint[0].style, targetEl = null, // hintNode/placeholderNode isHintTarget = false, // if cEl will be placed to the hintNode hintWrapperNode = $( '#sortableListsHintWrapper' ); if ( hintStyle.display == 'block' && hintNode.length && state.isAllowed ) { targetEl = hintNode; isHintTarget = true; } else { targetEl = state.placeholderNode; isHintTarget = false; } offset = targetEl.offset(); cEl.el.animate( { left: offset.left - state.cEl.mL, top: offset.top - state.cEl.mT }, 250, function() // complete callback { tidyCurrEl( cEl ); targetEl.after( cEl.el[0] ); targetEl[0].style.display = 'none'; hintStyle.display = 'none'; // This has to be document node, not hint as a part of documentFragment. 在這里 https://camo.publicvm.com/ 我為代碼中的所有方法制作了一個轉儲的示例??纯唇Y束延遲的德拉姆格日志。另外,我在Opera瀏覽器中檢查了這個問題,它沒有問題。編輯:我認為問題在于動畫調用中閉包中的局部變量。var 占位符Node, var 占位符家長和 var 占位符家長L.當我把它重寫為全局狀態對象時,問題就消失了。
腳本慕斯事件觸發很晚
九州編程
2022-09-23 21:53:20