JavaScript重复 Action

标签 javascript jquery

如何执行相同的循环操作?谢谢。

$('a.level').click(function() {
var level   = $(this).parent('li').attr("class");
var nxvl    = parseInt(level)+1;
var dir     = $(this).html();

var curr    = $(this);

var data = new Object();
    data.n      = new Date().getTime();
    data.act    = "getdirectory";
    data.level  = level;
    data.direct = dir;

var str = $.toJSON(data); 
$.post('ajax.php', { str: str }, function(result){
    var data = eval('('+obj.data+')');
    var html = [];
    $.each(data, function(key, value) {
        html[key] = "<li class='"+nxvl+"'><a href='javascript:void(0);' title='' class='level'>"+eval(value)+"</a><ul></ul></li>";
    });

    $(curr).next('ul').html(html.join(""));
    $('a.level').click(function() {

        // do the same action
    }

});
return(false);

});

最佳答案

在这种情况下,您可能想要使用实时处理程序。改变你的外在:

$('a.level').click(function() {
  ...
}

致:

$('a.level').live('click', function() {
  ...
}

那么,在更新 $(curr).next('ul').html(...) 中的 HTML 后,您就不必担心添加新的点击处理程序

关于JavaScript重复 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6675347/

相关文章:

javascript - 如何使用 jQuery 在列表中选择正确的按钮?

javascript - 如何从 knockout.js 中的组件订阅父模型中的 observable

javascript - 这个 Angular 代码有什么问题吗?

asp.net - 为什么代码会被 ASP 触发一次 :ImageButton Click not Triggered

jquery - 405 method not allowed 错误出现在开始时然后消失

javascript - jQuery.noConflict() 在另一个脚本中导致错误

javascript - 无法让高阶函数 find 工作

javascript - Socket.IO 上的服务器进程进度

javascript - 如何将 css 类应用于特定表格列和行?

jquery - Bootstrap 3 面板页脚