下拉菜单无法打开

时间:2014-07-07 07:49:28

标签: javascript jquery mobile drop-down-menu

我被我的下拉菜单困住了。 当我点击导航按钮" clicker"时,我希望它打开。然后当我点击" clicker"试。

我希望它仅在单击图像时显示/隐藏。当我点击隐藏的div时,它将保持打开状态。

但那不起作用。我不知道为什么。试了这么多东西。任何的想法? (这里的总菜鸟)。

HTML: (点击"#clicker" Image = Toggle Dropdown;" #downdown-inside" = hidden div;

<div class="header_content">
  <div class="navbar">
    <div id="dropdown-menu">
      <img id="clicker" src="http://porschedvd.de/bluptest/typo3/fileadmin/stromer/template/pix/menu_btn.jpg" alt="">
       <ul id="dropdown-inside">

JQuery的:

$j('#clicker').click(function() {
$j('#clicker').not(this).children('ul').slideUp("slow");

$j(this).children('ul').slideToggle("slow");
});


$j('#clicker').blur(function() {
$j('#dropdown-inside').hide('slow', function() {
});
});

在这里小提琴:http://jsfiddle.net/377G6/2/

1 个答案:

答案 0 :(得分:4)

我已阅读您的代码并尝试运行它。 现在你有两点需要解决:

  1. 您的选择器$j(this).children(ul)无法找到该列表。

    列表ul#clicker的兄弟元素,因此您可以使用方法siblings('ul')next()来选择列表,但不能children() }

  2. 事件&#39;模糊&#39;现在无法触发。

    通常情况下,事件blur只能在inputtextarea上触发,因此,如果您想在blur或{{<img>上触发<div> 1}},您可以为其设置tabindex="-1"之类的属性。

  3. 正如我尝试的那样,它在修复后成功运行。

    以下是链接:http://jsfiddle.net/edisonator/kfcB9/

    谢谢, 爱迪生