我正在將DOJO從1.4升級到1.8版本。現在,我定義了dojo acccordian小部件。我需要停止在onclick事件中擴展Accordian小部件。dojo的event.preventDefault()不工作dojo 1.8版本
當我們使用dojo 1.4版本的時候,我們使用下面的代碼片斷來停止onclick事件。
模板象下面這樣:
<div data-dojo-type="dijit.layout.AccordionContainer" style="height: 300px;" onclick="onClickHandler">
的js象下面這樣:
function onClickHandler(evt){
dojo.stopEvent(evt);
}
得到stucked在以下問題上1.8的Dojo版本:
按照道場官方網站https://dojotoolkit.org/reference-guide/1.8/dojo/stopEvent.html#,他們正在報告dojo.stopEvent()deplrecated.we需要使用evt.preventDefault()和evt.stopPropagation()來代替。
當我嘗試像下面這樣的onclickhandler時,它不停止onclick事件。
function onClickHandler(evt){
//dojo.stopEvent(evt);
evt.preventDefault(); //Instead of the stopEvent
evt.stopPropagation();
}
我找不出這個問題。 Chrome和Firefox都不會觸發任何錯誤或異常,因此據我所知,沒有語法錯誤。
我試圖'返回false',而不是上面提到的preventDefault & stopPropagation,儘管它並沒有停止手風琴窗口的onclick事件。
請幫我解決它。
在此先感謝
感謝您的回覆bRIMOs.I嘗試了dojo/_base/event.though中的event.stop方法,但它並未停止onclick事件。是否有其他事件停止功能可用於實現此目的? – ArunK
只是一個問題,你有一個'dijit/layout/AccordionPane'裏面的div, ,你想停止這些'AccordionPanes'的滑動和滑動! –
是的。我想停止滑動並在手風琴容器內滑動手風琴窗格。 – ArunK