Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery-mobile-为什么插件不';如果触发器页面从外部拉入,是否不会触发?_Javascript_Jquery_Jquery Plugins_Jquery Mobile - Fatal编程技术网

Javascript jquery-mobile-为什么插件不';如果触发器页面从外部拉入,是否不会触发?

Javascript jquery-mobile-为什么插件不';如果触发器页面从外部拉入,是否不会触发?,javascript,jquery,jquery-plugins,jquery-mobile,Javascript,Jquery,Jquery Plugins,Jquery Mobile,我需要一些帮助: 我有三个独立的JQM页面——page1.html、page2.html和page3.html 我正在将我的.js文件添加到所有页面中,因此无论哪个页面先加载,都会加载插件 page2.html有一个名为data somesome=“true”的触发器来触发page2上的插件 我添加了一个侦听器,等待创建触发器页面 看起来像这样: (function($,window){ $.widget("mobile.somesome",$.mobile.widget, {

我需要一些帮助:

  • 我有三个独立的JQM页面——page1.html、page2.html和page3.html
  • 我正在将我的.js文件添加到所有页面中,因此无论哪个页面先加载,都会加载插件
  • page2.html有一个名为data somesome=“true”的触发器来触发page2上的插件
  • 我添加了一个侦听器,等待创建触发器页面
看起来像这样:

(function($,window){
   $.widget("mobile.somesome",$.mobile.widget, {
      _create: function() { 
          var self = this;
          console.log("here we go");
          ...
          }
   });
   // initialize
   var trigger = $('div:jqmData(somesome="true")').live( 'pagecreate',function(event){ 
   if ($('html').data('somesome-init', 'Off')) {
        $('html').data('somesome-init', 'On')
        console.log("trigger fired");
        trigger.somesome();
        }
    });
}) (jQuery,this);
问题:
如果我直接加载page2.html,一切正常=控制台日志触发器已触发,插件运行

但是,如果我从page1.html或page3.html开始,然后调用page2.html希望插件能够启动,我只会得到控制台“触发器启动”,因此我检测到了正确的结果,但插件本身没有运行

有人能给我一个提示吗

编辑 添加了一些示例:
-第2页直接
-通过第1页
-通过第3页

$(这)使它工作起来。。。像这样:

var trigger = $('div:jqmData(somesome="true")').live( 'pagecreate',function(event){ 
    if ($('html').data('some-init', 'Off')) {
        $('html').data('some-init', 'On')
            $( this ).somesome();
            }
     });