从下面的代码开始,单击链接后,它不会在AJAX响应后加载精美的框。
动态生成<a>
标记的ID。
但是当我第二次点击相同的链接时它会加载但AJAX功能也会被召回。
$(document).ready(function()
{
$(".cont").live('click',function(e)
{
//Cancel the default action (navigation) of the click.
e.preventDefault();
var contentId = $(this).attr('id');
$('#apps').load('/app/get-app-details', function(){
$("#"+contentId).fancybox();
});
});
});
<a class="cont" href="#device_detection" id="apps_<?= $regUsers->id; ?>"> Click to view apps</a>
请给我一个解决方案。
答案 0 :(得分:0)
这是有效的。也许其他人有用
$(".cont").live("click",function() {
link=($(this).attr('href'));
$.fancybox({
'width' : '1000',
'href' : link,
'height' : '750',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
return false; // don't follow the link!
});
使用最新的jquery弃用Live。所以你可以使用
$("body").on("click",".cont",function() {
link=($(this).attr('href'));
$.fancybox({
'width' : '1000',
'href' : link,
'height' : '750',
'autoScale' : false,
'transitionIn' : 'none',
'transitionOut' : 'none',
'type' : 'iframe'
});
event.preventDefault(); // don't follow the link!
});