Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Jquery 单击仅在刷新后触发的事件_Jquery_Jquery Mobile - Fatal编程技术网

Jquery 单击仅在刷新后触发的事件

Jquery 单击仅在刷新后触发的事件,jquery,jquery-mobile,Jquery,Jquery Mobile,正如标题所说: 我有一个包含几个按钮和jquery脚本的页面,如下所示: $( document ).bind( 'mobileinit', function(){ $.mobile.loader.prototype.options.text = "loading"; $.mobile.loader.prototype.options.textVisible = false; $.mobile.loader.prototype.options.theme = "a"; $

正如标题所说:

我有一个包含几个按钮和jquery脚本的页面,如下所示:

    $( document ).bind( 'mobileinit', function(){
  $.mobile.loader.prototype.options.text = "loading";
  $.mobile.loader.prototype.options.textVisible = false;
  $.mobile.loader.prototype.options.theme = "a";
  $.mobile.loader.prototype.options.html = "";
});

$(document).bind('pagecreate', function(event){
// New model form submittion

     $('#new-model-submit').click(function(){
          // do
     });

     // Compatibility

     // Switch brands
     $('#brands').change(function(){
         // do something
     });

     // Add model to compatibility
     $('input[type=checkbox]').live("change", function(){
         // do something

     });

     // Specificaties
     $("#add-product-spec").click(function(){
         // do something
     });

     $("#save-product-specs").click(function(){
         // Do something
     });

     // Foto's
     $("#add-product-foto").click(function(){
        // Do something
     });

     $("#save-product-fotos").click(function(){
        // Do something
     });

});

问题是这些事件在第一次加载页面时不会被触发。但是,当我按F5并刷新页面时,按钮确实起作用。为什么会这样?有人有解决方案吗?

JQuery Mobile的工作方式有点不同。如果链接将您指向同一域上的某个页面,JQuery mobile将截获该事件,并发出ajax请求,然后将其插入DOM。解决这个问题的一种方法是使用
live
进行点击事件。i、 e

// Specificaties
$("#add-product-spec").live("click", function(){
 // do something 
});
这将告诉浏览器注意与“#添加产品规格”选择器匹配的任何内容上的“单击”事件,而不管它是何时插入DOM的

编辑


您可以尝试使用
PageShow
而不是
PageCreate
。如果我没记错的话,JQuery mobile的
PageCreate
事件只在您第一次加载页面时触发。

JQuery mobile的工作方式有点不同。如果链接将您指向同一域上的某个页面,JQuery mobile将截获该事件,并发出ajax请求,然后将其插入DOM。解决这个问题的一种方法是使用
live
进行点击事件。i、 e

// Specificaties
$("#add-product-spec").live("click", function(){
 // do something 
});
这将告诉浏览器注意与“#添加产品规格”选择器匹配的任何内容上的“单击”事件,而不管它是何时插入DOM的

编辑


您可以尝试使用
PageShow
而不是
PageCreate
。如果我没记错的话,JQuery mobile的
PageCreate
事件只会在您第一次加载页面时触发。

将明确检查此项。我将明确检查此项