单击菜单时,jquery .click函数不会触发

时间:2012-11-27 20:49:58

标签: jquery asp.net function menu

我正在使用jquery.click在我的aspx页面中使用菜单。在我的asp.net页面中。

如果页面不包含参数(例如“mypage.aspx”)单击功能工作正常并且我的菜单打开,但是当我打开带有参数的页面(例如“mypage.aspx?id = 3”)时,在页面中,我的点击功能不起作用,菜单无法打开。

这是我的jquery.click函数:

// Show menu
$("a.showMenu").click(function () {
    if (menuStatus != true) {
        $(".ui-page-active").animate({
            marginLeft: "165px",
        }, 300, function () {
            menuStatus = true
        });
        return false;
    } else {
        $(".ui-page-active").animate({
            marginLeft: "0px",
        }, 300, function () {
            menuStatus = false
        });
        return false;
    }
});

这是mypage.aspx

中的html代码(打开菜单)
<a href="#" class="showMenu"><img src="images/icon-menu.png" alt="Menu" border="0" /></a>

我该怎么办?

4 个答案:

答案 0 :(得分:0)

这是一个很好的测试,只是为了看看jQuery是否正常工作:

// Show menu
$("a.showMenu").click(function () {
    alert('I am here'); // <---
    if (menuStatus != true) {
        $(".ui-page-active").animate({
            marginLeft: "165px",
        }, 300, function () {
            menuStatus = true
        });
        return false;
    } else {
        $(".ui-page-active").animate({
            marginLeft: "0px",
        }, 300, function () {
            menuStatus = false
        });
        return false;
    }
});

如果没有,那么你引用了jQuery.js文件吗?类似的东西:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

答案 1 :(得分:0)

正如提到的评论; menuStatus是关键。最初设定在哪里?

我为你创建了一个jsFiddle。我只是使用文字而不是你的图像,但它应该有所帮助。请注意,我正在将menuStatus初始化为false。

jsFiddle here

答案 2 :(得分:0)

我测试了你的代码并且它有效。我不确定你的问题在哪里。

In this fiddler, I tested your code and it worked

And in this fiddler, I removed the menuStatus flag

为了删除menuStatus标记,我更改了click的{​​{1}}函数

如果您可以更具体地了解您的错误,那么检测问题会更容易

快乐的编码!

答案 3 :(得分:0)

谢谢大家,但我自己找到了解决方案。

问题在于,我创建了发送链接。

我的旧代码是:

  <a href="mypage.aspx?id=3" >Go to My Page</a> »

我添加了rel =“external”,我的菜单每次都有效!

   <a href="mypage.aspx?id=3" rel="external">Go to My Page</a> »

非常感谢!