我在Site.Master页面中定义了一个$(document).ready()事件,我还想在我的一个局部视图中定义另一个$(document).ready()(用于显示msgs和错误信息),我在所有页面和所有部分视图中调用此部分视图...
部分视图显示在页面中,也使用模态弹出窗口...所以我尝试了这个但是部分视图中的ready事件没有触发
我有几件事要问:
如果有些身体可以提供一些例子......
答案 0 :(得分:5)
是的,您可以在页面上包含多个就绪事件处理程序。您可以将它们放在站点主页,部分视图和视图页面中 - 尽可能多地使用它们。它们必须全部包含在脚本标记中。它们将按照它们包含在最终呈现页面中的顺序触发。注意,您要小心确保部分仅在页面上包含一次,或者如果多次调用该处理程序并不重要。
示例(未完成):
站长:
<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>
答案 1 :(得分:4)
是的,您可以在页面中拥有多个$(document).ready()
,只需确保在调用此函数之前已包含jquery文件。 Functions
在$(document).ready()
内调用,按照请求的顺序调用。
答案 2 :(得分:1)
是的,没错,只要上一个局部视图没有任何错误,你可以拥有任意数量的$(document).ready(),它将为所有人开火。