jQuery Mobile可折叠的“扩展”事件未在Cordova应用程序中触发

时间:2016-11-02 07:54:41

标签: javascript jquery cordova jquery-mobile javascript-events

我有一个使用jQuery Mobile 1.4.5版本构建的Cordova应用程序

在这个应用程序中有一个页面,其中有4个可折叠,其中包含多个可折叠。

每次展开嵌套的可折叠项时,我都需要触发一段代码。为此,我使用了一个css类并为这些可折叠程序绑定了一个展开事件监听器。

当我制作一个jsFiddle时,它可以工作,但在应用程序上它不会运行并且不会在断点处停止(使用chrome远程调试),也没有任何类型的错误。

我的javascript看起来像这样:

    $( ".msg_head" ).on( "collapsibleexpand", function( event, ui ) {
        alert('expand');
    } );

可以在这里查看小提琴:fiddle

2 个答案:

答案 0 :(得分:1)

我使用此js代码更新了fiddle的工作解决方案:

$(document).on( "collapsibleexpand", ".msg_head",function( event, ui ) {
    alert('expand');
} );

答案 1 :(得分:1)

jcarrera的回答将起作用(事件授权)。但是从jQuery Mobile的角度来看,问题在于你不是在jQM pagecreate事件中创建处理程序。因此,可折叠性尚不存在。将pagecreate用于包含可折叠的页面,如下所示:

$(document).on("pagecreate","#your-page-id", function(){ 
  $( ".msg_head" ).on( "collapsibleexpand",  function( event, ui ) {
    alert('expand');
  } );
});  

更新了 FIDDLE