【问题标题】:jQuery URL hash input refreshjQuery URL 哈希输入刷新
【发布时间】:2014-06-01 03:00:32
【问题描述】:
        $( "ul#results" ).click(function() {$( this ).slideUp();});

我正在使用以下教程中的代码:http://ninetofive.me/blog/build-a-live-search-with-ajax-php-and-mysql 以上是我针对 AJAX 下拉菜单的 jQuery 代码。

我试图在用户单击链接时使下拉菜单消失,而无需重定向或刷新页面。我还在我的链接的 URL(处理的服务器端)中使用哈希值。例如:
mysite.com/#selecteddropdowndata

我不确定问题出在我的 URL 哈希、jQuery 还是两者的组合上。

【问题讨论】:

    标签: jquery ajax url


    【解决方案1】:

    这是一个工作 jsfiddle 的链接:http://jsfiddle.net/Grimbode/6zAYq/2/

    如果您点击一个链接 ( ),您需要防止默认点击事件触发,并触发您真正想要的。

    html:

    <ul id="results">
        <li><a href="www.google.com">test123</a></li>
        <li><a href="www.google.com">test123</a></li>
        <li><a href="www.google.com">test123</a></li>
    </ul>
    

    js:

    $( "a" ).on('click', function(e){
        e.preventDefault();
        $('#results').trigger('click');
    });
    
    $('#results').on('click', function(e){
        $( this ).slideUp();
    });
    

    【讨论】:

      【解决方案2】:

      要在单击链接时禁用链接,请使用preventDefault() 函数。您的代码显示您的目标是 &lt;ul&gt; 标记,而不是链接。试试这个:

      $('a.yourlink').click(function(e){
          $("ul#results").slideUp();
          e.preventDefault();
      });
      

      【讨论】:

        猜你喜欢
        • 2021-08-13
        • 2012-12-07
        • 2018-07-21
        • 2011-12-13
        • 2013-03-12
        • 1970-01-01
        • 1970-01-01
        • 2012-12-08
        • 1970-01-01
        相关资源
        最近更新 更多