我将通用的(对我所有的内容页面而言)js放在我的主页的开头部分。
<head runat="server">
<script type="text/javascript" src="../Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript" src="../Scripts/jquery.corner.js?v2.11"></script>
<script type="text/javascript" src="../Scripts/jquery.timers.js"></script>
<script type="text/javascript" language="javascript">
var mouseOver = false;
$('.right_menu_links').hover(
function () {
var visible = $(this).parent().children(".right_menu_hint").css("display");
mouseOver = true;
if (visible == 'none') {
$(this).oneTime("1s", function () {
if (mouseOver)
$(this).parent().children(".right_menu_hint").show("slow");
});
}
},
function () {
mouseOver = false;
$(this).parent().children(".right_menu_hint").hide("slow");
}
);
</scipt>
如我所料,我所有的内容页面脚本都应将悬停事件附加到所有right_menu_links上。但这是行不通的。
当我在内容页面上放置相同的脚本时,一切正常!
怎么了?
最佳答案
它需要包装在DOM has loaded时调用的函数中。
<script type="text/javascript" language="javascript">
var mouseOver = false;
$(function(){
$('.right_menu_links').hover(
function () {
var visible = $(this).parent().children(".right_menu_hint").css("display");
mouseOver = true;
if (visible == 'none') {
$(this).oneTime("1s", function () {
if (mouseOver)
$(this).parent().children(".right_menu_hint").show("slow");
});
}
},
function () {
mouseOver = false;
$(this).parent().children(".right_menu_hint").hide("slow");
}
);
}
</scipt>
关于c# - MasterPage的ASP.NET JavaScript不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3827942/