以前這個 dialog 在測試頁的時候是能正常彈出而且顯示的。
某個頁面點擊某個div時彈出自定義的dialog,發現這個dialog 並無顯示,有點奇怪。 bash
一開始以爲有多是dialog顯示了被遮擋住了,因此看起來沒有顯示。而後修改z-index屬性,發現仍是同樣的效果。 看來問題沒有這麼簡單,仍是仔細的分析一下... 最外層是個cube-slide,cube-slide-item 裏面的div 觸發點擊彈出 自定義的dialog。dialog自己顯示是沒有問題的,多是受到了其它組件的影響。而後我增長了一些打印,dialog的顯示和隱藏的函數進行打印。 ide
打印看到的時候,才發現原來是dialog被隱藏了.. 是否是代碼哪裏調用了hidedialog函數,發現並無地方主動調用。仔細想一想感受應該是致使了點擊事件觸發了兩次。也只有多是cube-slide會影響。帶着問題繼續去探索,cube-slide 是一個基於 better-scroll 進行封裝的組件。 options 是 better-scroll 配置項,項目裏的代碼配置以下:函數
slideOptions: {
listenScroll: true,
probeType: 3,
directionLockThreshold: 0,
eventPassthrough: 'vertical'
}
複製代碼
click默認是沒有影響的。測試
這個屬性我註釋掉了,發現 dialog 終於顯示出來了。。 可是這個屬性,我以爲也是有必要加的而後就增長了click:false dialog也是能夠正常顯示的。spa
這個問題是同事讓我幫忙看的,排查問題仍是要一點點去慢慢確認問題。這種看似很奇怪的問題,更須要耐心。3d