我在Site.Master页面中定义了一个$(document).ready()事件,我还想在我的一个局部视图中定义另一个$(document).ready()(用于显示msgs和错误消息),我在所有页面和所有局部视图中调用此局部视图…
部分视图显示在页面中,也使用模态弹出…所以我尝试了这个但是部分视图中的ready事件没有触发
我有几件事要问:
>首先,有可能做我想做的事情……
>有些页面有部分视图,因此页面有两个$(document).ready()事件,因此当页面加载时,这两个事件之间是否存在任何冲突……
如果有些身体可以提供一些例子……
解决方法
是的,您可以在页面上包含多个就绪事件处理程序.您可以将它们放在站点主视图,部分视图和视图页面中 – 尽可能多地使用它们.它们必须全部包含在脚本标记中.它们将按照它们包含在最终渲染页面中的顺序触发.注意,您需要小心确保部分仅在页面上包含一次,或者如果多次调用该处理程序并不重要.
示例(未完成):
主:
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jqueryui.js"></script> <script type="text/javascript"> $(function() { // do something for whole page }); </script> @Html.Partial( "ErrorDialog" )
部分(ErrorDialog)
<div id="errorDialog" style="display: none;" title="Error"> <p>An error occurred</p> </div> <script type="text/javascript"> $(function() { $('#errorDialog').dialog({ modal: true,autoOpen: false,// more options }); }); function showError(msg) { $('#errorDialog').find('p').html(msg) .stop() .dialog('open'); } </script>