jquery $(“#id”)。load()第二次不触发document.ready()

时间:2012-06-26 14:13:02

标签: jquery asp.net-mvc-3 razor jqgrid

我在Razor视图引擎上使用asp.net MVC3中的jquery。我有jquery选项卡控件和选项卡导航我加载myusercontrol.cshtml页面。在myusercontrol.cshtml页面上我有

 $(document).ready(function (){ loadjqgrid();});. 

点击每个标签即可执行此操作

 $("#fragment-1").load("MyAction_in_controller"); 

这是仅在我单击选项卡时第一次调用,第二次单击控件未传递给控制器​​。相反没有任何反应 请指教。

提前多多感谢。

2 个答案:

答案 0 :(得分:3)

$(document).ready仅在DOMContentLoaded事件上获取触发器,该事件只能发生一次。加载新内容无法触发该事件。

相反,将其背后的代码抽象为函数并调用该函数。

function domready () {
    // do stuff
}

$(document).ready(domready);

$("#fragment-1").load("MyAction_in_controller",domready);

但是,有可能更好的方法来处理它,例如委派事件。

答案 1 :(得分:0)

如果我正确理解您,您希望每次在加载事件后单击选项卡时运行loadjqgrid?如果是这样,你可以这样做:

$("#fragment-1").load("MyAction_in_controller",loadjqgrid);