对通过.load引入的元素使用Jquery document.on()

时间:2014-04-05 20:01:00

标签: javascript jquery html ajax dom

我正在学习如何使用委托事件。我有一个选择框,使用.load方法将文件加载到div中。请看一下这个example。其中一个文件(内容滑块)包含的javascript除非我使用委托事件,否则无法工作。但我使用的那个似乎并不正确,因为当我点击滑块.select_title下方的选择框时,滑块上方的按钮消失了。你能告诉我应该使用什么委托活动吗?

我不认为这是对的:

$(document).on("mousedown",".selectboxarea", function(){

代码:

$(document).ready(function() {
    var area = $(".selectboxarea");
    $("select").on('change', function () {
        area.toggleClass('red',area.hasClass('white')).empty();
        var $this = $(this);
        var selected = $this.find('option:selected');
        var loadfile = selected.data('file');
        var selectfirst = $('.selectempty');
        var nextarea = $this.next('.selectboxarea');
        $(".searchselectbox").not(this).prop('selectedIndex',0);
        selectfirst.text('Select');
        var hide =         $this.find('.selectempty').text('Hide');$this.find('.selectempty').toggleClass('hide'); 
        if (loadfile) {nextarea.load(loadfile);hide }
    });
});
$(document).on("mousedown",".selectboxarea", function(){
    $('.select_title').change(function(){
        var selected = $(this).find(':selected');
        $('.eventslide').hide();
        $('.'+selected.val()).show(); 
    });
    var W = $('#event_rotator').width(),
        N = $('#searchslider .event').length,
        C = 0,
        intv;
    if(N<=1)$('#left, #right').hide(); 
    $('#searchslider').width( W*N );
});

0 个答案:

没有答案