一千萬個為什麽

搜索

在Ajax調用之後,JavaScript停止工作

我目前正在嘗試使用JQuery和Ajax構建過濾器搜索功能。過濾器可以在以下位置看到:

http://www.danfarrellwright.com/screwsline/front_end/product.php ?PRODUCT_ID = 104

當頁面加載懸停在表格上時,您將看到當前單元格改變顏色。現在使用長度或規格過濾器來減少結果,當ajax完成時,表格懸停功能不再起作用。幫助將不勝感激!

這是更改表格單元格顏色的函數:

$('table')
    .delegate('.price_cell', 'mouseenter', function() {
        if ($(this).index() > 0) {
            $(this).css('background-color','#cce6ff');
            $('td:lt(1)', $(this).parents('tr')).css({'background-color':'#0096E1','color':'#ffffff'});
        }
    })
    .delegate('.price_cell', 'mouseleave', function() {
        if ($(this).index() > 0) {
            $(this).css('background-color','#ffffff');
            $('td:lt(1)', $(this).parents('tr')).css({'background-color':'#ffffff','color':'#002436'});
        }
        });

這裏是滑塊和Ajax的功能:

$( "#lengthSlider" ).slider({
    range: true,
    min: lengthMin,
    max: lengthMax,
    step: 5,
    values: [ lengthMin, lengthMax ],
        slide: function( mouseleave, ui ) {
        $(this).siblings('input[class^="low"]').val(ui.values[ 0 ]);
        $(this).siblings('input[class^="high"]').val(ui.values[ 1 ]);
        $('#tableHolder').html('ajax-loader Screwsline powered by Webformed');
        $('#tableHolder').load(document.URL + ' #tableHolder', { 
                    'lengthMinFil':ui.values[ 0 ], 
                    'lengthMaxFil':ui.values[ 1 ]
                });
    }
});

最佳答案

你的委托是在$('tableHolder')裏面的$('table'),這意味著你在執行ajax調用時會被替換,所以你失去了委托。

轉載註明原文: 在Ajax調用之後,JavaScript停止工作