Fancybox将jQuery [ajax,$('body')。on]附加到body

时间:2014-08-04 02:54:13

标签: jquery caching fancybox

的index.html

<script>
$(document).ready(function() {
$('body').on("click",".showDetails",function(){
    $.fancybox({
        autoSize: false,
        width: '1000px',
        height: "100%",
        closeOnEscape: false,
        href: 'details.html',
        type: 'ajax',
        ajax : {
            type: 'post',
            cache:false
        }
    });     
});     
});

</script>
</head>

<body>
<button type="button" class="showDetails">Test</button>
</body>

details.html

<script>
$(document).ready(function() {
    $('body').on("click",".test",function(){
        console.log("Test");         
    });
});

</script>
<button type="button" class="test">Console.log</button>

当我通过Fancybox打开三次细节时。然后,我单击fancybox的details.html中的.test按钮。控制台将记录&#34; 3&#34; &#34;测试&#34;

的时间

该问题是什么以及如何解决?非常感谢。

1 个答案:

答案 0 :(得分:0)

如果cache : false不适合你,那么如何将所有AJAX调用设置为cache:默认情况下为false。然而,它将应用于当前页面中正在进行的所有AJAX调用。

$(document).ready使用中,

$(document).ready(function() {
  $.ajaxSetup({ cache: false });
});

默认情况下,将所有AJAX cache设置为false

以下是$.ajaxSetup()

的文档