javascript - jQuery live 无法按预期工作

标签 javascript jquery ajax load live

我有ajax请求和简单的问题<input type="submit"/> .

我用来在其他 View 中加载 View ,我的意思是模块化,使用 jquery .load(url)从一种观点到另一种观点。 所以问题是,如果我在 view_1 中加载 view_2 并且 view_2 的 js 脚本在 view_1 中,我需要使用 live('click')例如,从 view_2 启动 xhr 请求,所以当我尝试它时,它会启动 3 (multiple) xhr at same time ,而不是一次只有 1 个,不知道为什么。

我唯一知道的是:

  1. 使用 live('click')在 view_1 中,它启动了 3 个多个 XHR。
  2. 使用 click()在 view_1 中它不起作用(显然我认为)。
  3. 使用 click()直接在 view_2 内部它可以工作(但我不能使用 js 在加载的 View 中,我只能在“ parent ” View 中使用js)

功能非常简单,真的不知道为什么我会遇到这个问题(我还禁用了ajax beforeSend中的提交)检查这是一个view_1代码,它在加载的view_2上运行并启动3个XHR进行点击:|

$(document).ready(function(){ 
   $('#save-doc').live('click',function(){
    var _title = $('#doc-title').val();
    var _doc = $('#doc-doc').val();
    update_doc(url_update_doc,{'title':_title,'doc':_doc,'id_doc':_choosed_doc,'id_project':id_project},this);
    });
});
function update_doc(_url,_data,_starter){
    $.ajax({
        type:'POST',
        data:_data,
        url:_url,
        dataType:'json',
        beforeSend:function(){
            $('.ajax-loading').show();
            $(_starter).attr('disabled','disabled');
        },
        error:function(){
            $('.ajax-loading').hide();
            $(_starter).removeAttr('disabled');
        },
        success:function(json){
            $('.ajax-loading').hide();
            $(_starter).removeAttr('disabled');
            if(json.error){
                $('#error-title').html(json.error_title);
                $('#error-doc').html(json.error_doc);
                $.scrollTo('.append-form-edit-doc','fast');
            }
            if(json.confirm){
               $.scrollTo('#top','fast');
               $.gritter.add({
                   title:'Document Saved',
                   text:json.confirm
               });
           }
        }
    });
}

最佳答案

如果这是表单内的提交按钮,那么除非您阻止默认操作,否则表单将被提交。 (这将占 2 个 POST,但不是 3 个。)

关于javascript - jQuery live 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812689/

相关文章:

javascript - jQuery JSON 数组未定义/不是对象

Javascript 的 SetTimeout、SetInterval 和 ClearInterval 在 c# 中的等价物

javascript - Excel 文件无法在 MVC4 中使用 AJAX 下载

javascript - 将history.pushState与rails ajax请求结合使用

javascript - 有没有办法将键盘按键发送到 iframe 内容?

javascript - 如何从 twbs 分页插件中删除 'first' ,'previous' ,'next' 和 'last' 按钮

javascript - jsTree v 3+ : How to pass [Type] information for the 'Types' plugin using the JSON format in making a jsTree?

jQuery,如何修改[href]值?

javascript - 使用 window.location.href 传递发布数据

javascript - Localhost 返回 "Undefined"而不是唯一 ID