无法重新初始化jScrollPane(使用Ajax)

时间:2012-11-08 12:25:17

标签: jquery ajax jscrollpane

我在我的页面中使用以下代码,以便重新初始化jScrollPane,对于通过ajax刷新内容的div:

<script>
    var $j = jQuery.noConflict();
    $j(document).ready(function() {

        $j('#map_data').jScrollPane({
               showArrows: true,
               autoReinitialise: false
        });

        $j('.country .point').click(function () {
            var point_id = $j(this).attr('id');
            theCall(point_id);
        });

    });

    function theCall(pointid) { 
        $j.ajax({
            type: 'POST',
            url: 'my_ajax_receiver.php',
            data: {point_id: pointid}, 
            dataType: 'html',     

            success: function(a) {
                            $j("#map_data").html(a);

                            var api = $j("#map_data").jScrollPane().data('jsp');
                            api.getContentPane().html(a);
                            api.reinitialise(); 
            }

        });
    }
</script> 

我搜索并测试了许多关于这个问题的其他解决方案,但到现在为止没有任何工作。我在这段代码中没有看到任何错误。有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

不知何故,它现在正在运行,这是正确的代码,它可能会帮助其他人

<script>
    var $j = jQuery.noConflict();
    $j(document).ready(function() {

        $j('.country .point').click(function () {
            var point_id = $j(this).attr('id');
            theCall(point_id);
        });

    });

    function theCall(pointid) { 
        $j.ajax({
            type: 'POST',
            url: 'my_ajax_receiver.php',
            data: {point_id: pointid}, 
            dataType: 'html',     

            success: function(a) {
                            $j("#map_data").html(a);

                            var api = $j('#map_data').jScrollPane({}).data('jsp');
                            api.reinitialise(); 
            }

        });
    }
</script>