Jquery 单击仅在刷新后触发的事件
正如标题所说: 我有一个包含几个按钮和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"; $
$( 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
事件只会在您第一次加载页面时触发。将明确检查此项。我将明确检查此项