我正在开发一个将信息传递给我的服务器并返回页面的网站,但每次重新加载页面时我都必须重新定义点击监听器,因为jQuery控制着我在每个页面上的所有点击,所以我'我想知道有没有办法永久定义一个函数?
jQuery代码:
$(function(){
$('.lvl1Links').on('click',function(event) {
event.preventDefault();
$('pload').html('<img src="source/image/lbl.gif">');
var page = $(this).attr('id');
var huh = $('input:hidden').val();
var data = 'pop='+huh+'&page='+page;
$.post('source/php/bots/authorize.php',data,function(data){
$('#pager_master_div').html(data).slideDown();
$('pload').html('');
});
});
});
答案 0 :(得分:1)
作为无状态平台,每次加载页面时都需要重新绑定此类内容。这是我用来简化它的模式:
如果这在您网站的某个区域很常见,请将此类内容放入公共文件中的init
函数中。例如
global.js:
function InitSalesPageOrWhatever(){
$(function(){ foo; });
OtherStuffThatRunsOnEverySalesPageLoad();
}
然后在您网页上的脚本块中,例如SalesPage:
InitSalesPageOrWhatever();
它就是 - 你的内容页面只有一行。除了内容页面的优点和清洁之外,现在可以通过用户的浏览器缓存大块的JS,从而减轻您的负担并提高他们的体验。
答案 1 :(得分:1)