我有一个jQuery Mobile应用程序,通过ajax加载页面,例如page1.html,page2.html等
在page1.html上我有一个按钮:
<a href="page2.html" data-role="button" class="submit">Submit</a>
在page2.html上我还有一个按钮
<a href="page3.html" data-role="button" class="submit">Submit</a>
我在主体内的每个页面上都引用了一个脚本文件(script.js),代码如下:
$(document).on('pagechange', function(){
console.log('new page');
$('.submit').on('click', function(){
console.log($('this'));
});
}
'新页面'正在为每个页面写入控制台,但点击仅在一个页面上注册(如果我刷新它只在该页面上工作的页面)
有关如何在每个页面上触发点击的任何想法?
答案 0 :(得分:0)
使用.on()
的选择器参数,在这种情况下,您只需要一次绑定事件,所以请在document.ready()
处理程序中执行此操作,如下所示:< / p>
$(document).ready(function() {
$(document).on('click', '.submit', function(){
console.log($('this'));
});
});
答案 1 :(得分:0)
在jquery mobile中,您应该使用事件pageinit
作为传统onload
的等效内容。下面的代码可以解决问题。
$(document).on('pageinit', function(){
console.log('new page');
$('.submit').on('click', function(){
console.log($('this'));
});
}