我遇到一些问题,让我的jQuery脚本的这部分在Ajax内容切换后运行...
/*no right click on img*/
$('img').bind('contextmenu', function(e) {
return false;
/*rollover*/
$('.roll').on('mouseenter mouseout', function() {
var original = $(this).attr('src');
var replacement = $(this).data('hoverimg');
$(this).attr('src', replacement).data('hoverimg', original);
});
});
有人可以帮助我让它运行我尝试了很多想法,如:
var init = function(){
/*Code*/
}
或者
function init(){
/*Code*/
}
我现在有点困惑。
答案 0 :(得分:1)
如果我理解正确,你只需要在ajax成功时绑定它。然后,您可以在jQuery中尝试binding和unbinding。
在调用ajax之前取消绑定并在ajax的成功回调中将其绑定回来。
请参阅此SO answer了解 .on VS .live VS .bind
答案 1 :(得分:1)
有一点是你确保如果你绑定事件加入动态元素,那么你应该引用它一些静态数据已经在页面上,如正文或文档。 示例:
$('body').bind('contextmenu','img', function(e) {
return false;
/*rollover*/
$('body').on('mouseenter mouseout','.roll', function() {
var original = $(this).attr('src');
var replacement = $(this).data('hoverimg');
$(this).attr('src', replacement).data('hoverimg', original);
});
});
立即尝试运行它。它肯定会奏效。