Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 避免在视图的OnClick事件上回发_Jquery_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4_Partial Views - Fatal编程技术网

Jquery 避免在视图的OnClick事件上回发

Jquery 避免在视图的OnClick事件上回发,jquery,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,partial-views,Jquery,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Partial Views,我有以下两种看法: Index.cshtml <p> @Html.ActionLink("Create New", "Create", "Owner ", new { id = "lnkCreate" }) </p> @section JavaScript { <script type="text/javascript" src="@Url.Content("/Scripts/Owner.js")"></

我有以下两种看法:

Index.cshtml

    <p>
       @Html.ActionLink("Create New", "Create", "Owner ", new { id = "lnkCreate" })
    </p>

 @section JavaScript {
        <script type="text/javascript" src="@Url.Content("/Scripts/Owner.js")"></script>

    }
我想做到的是,每当我点击“创建新”链接时,它就按照编码工作,没有任何回发。但当我单击同一控制器下不同视图的“返回”链接时,它正在执行回发,而不会像脚本代码中所写的那样单击事件。

尝试以下操作:

$(document).ready(function () {

 function bindClicks(){
   $('#lnkBack').click(function (e) {                  
        // alert('hello')
        e.preventDefault();
        $.ajax({
            url: '/Owner/Index',
            dataType: "html",
            success: function (data) {
                //$('#divContent').hide();
                //$('#divGrid').html(data);
                bindClicks();
            }
        });

    });

    $('#lnkCreate').click(function (e) {                 
        e.preventDefault();
        $.ajax({
            url: '/Owner/Create',
            dataType: "html",
            success: function (data) {
               // $('#divGrid').hide();
               // $('#divContent').html(data);
               bindClicks();
            }
        });

    });
 }

bindClicks();

});
基本上,在通过ajax获取内容后,需要重新绑定click()功能

加载页面时运行的jQuery函数与通过ajax添加的任何新内容无关。每次在页面上添加新内容时,都必须再次运行相同的函数(如果该内容具有一些jQuery功能,如单击绑定)。ajax“成功”(新内容已完全添加到页面中)是一个很好的选择。

尝试以下方法:

$(document).ready(function () {

 function bindClicks(){
   $('#lnkBack').click(function (e) {                  
        // alert('hello')
        e.preventDefault();
        $.ajax({
            url: '/Owner/Index',
            dataType: "html",
            success: function (data) {
                //$('#divContent').hide();
                //$('#divGrid').html(data);
                bindClicks();
            }
        });

    });

    $('#lnkCreate').click(function (e) {                 
        e.preventDefault();
        $.ajax({
            url: '/Owner/Create',
            dataType: "html",
            success: function (data) {
               // $('#divGrid').hide();
               // $('#divContent').html(data);
               bindClicks();
            }
        });

    });
 }

bindClicks();

});
基本上,在通过ajax获取内容后,需要重新绑定click()功能


加载页面时运行的jQuery函数与通过ajax添加的任何新内容无关。每次在页面上添加新内容时,都必须再次运行相同的函数(如果该内容具有一些jQuery功能,如单击绑定)。ajax“成功”(新内容完全添加到页面中)

创建带有空HREF的操作链接。这不是问题,但我建议您检查生成的html=您使用了错误的
html.ActionLink()
@Sippy重载的html谢谢。。你能详细告诉我你在说什么吗。@StephenMuecke我已经检查了呈现的html,但它显示了我为反向链接设置的正确id。。我希望我没有弄错。是的,它添加了
id
属性,但是看看
href
属性-它可能以
/…?length=6
之类的内容结尾(正如我说的,这不是问题,因为你在脚本中重新创建了url)创建带有空href的操作链接。不是问题,但是我建议您检查一下html,您的生成=您使用了错误的
html.ActionLink()
@Sippy重载,谢谢。。你能详细告诉我你在说什么吗。@StephenMuecke我已经检查了呈现的html,但它显示了我为反向链接设置的正确id。。我希望我没有弄错。是的,它添加了
id
属性,但是看看
href
属性-它的结尾可能类似于
/…?length=6
(正如我所说,这不是问题,因为您在脚本中重新创建了url)
$(document).ready(function () {

 function bindClicks(){
   $('#lnkBack').click(function (e) {                  
        // alert('hello')
        e.preventDefault();
        $.ajax({
            url: '/Owner/Index',
            dataType: "html",
            success: function (data) {
                //$('#divContent').hide();
                //$('#divGrid').html(data);
                bindClicks();
            }
        });

    });

    $('#lnkCreate').click(function (e) {                 
        e.preventDefault();
        $.ajax({
            url: '/Owner/Create',
            dataType: "html",
            success: function (data) {
               // $('#divGrid').hide();
               // $('#divContent').html(data);
               bindClicks();
            }
        });

    });
 }

bindClicks();

});