【问题标题】:DropDown Menu Using Jquery使用 Jquery 的下拉菜单
【发布时间】:2012-04-02 11:58:48
【问题描述】:

我遇到了这个问题,在上面的 html 中我无法点击下拉菜单,我在某些地方出错了,我在这段代码中的下拉菜单不起作用,谁能告诉我哪里出错了? CSS:

Javascript:

     <script type="text/javascript">
$(function() {
    $('.menucontainer').hide();
    $('#container').sortable({
        handle:'h1',
        scroll: false,
        revert: true,
        tolerance: 'pointer'
    });


    $('.dropmenu').on('click', function(){
        var $ul = $('.menucontainer', this);            
        $ul.show(500);
        console.log( $ul );
        return false;
    });

    $('html').on('click', function() {
        $('.menucontainer').hide(500);
    });

});
</script>

【问题讨论】:

  • jsfiddle.net/bvVEb 上试一试,如果不行,请提供有关应该有所不同的信息
  • 是否可以使用您的代码创建fiddle
  • 嗨,当我们点击图片时,下拉菜单必须可见,当我点击页面中的任何地方时它需要消失,我尝试解决它,但在我的页面中它不起作用跨度>
  • 请定义“不工作”。描述什么是错的。我觉得还可以:jsfiddle.net/Exceeder/ZBUP6
  • Fiddle 中的相同代码在我单击时可以看到下拉菜单,但是当我在页面中复制相同的代码时,拖放工作正常,但是当我单击下拉菜单时看不到下拉菜单,我正在使用 jquert 插件 jquery-1.3.2.min.js 和 jquery-ui-1.7.1.custom.min.js,请告诉我哪里出错了我很新面对 jquery,从过去一周开始为这个功能而苦苦挣扎

标签: css html jquery-ui


【解决方案1】:

您的代码中存在许多问题。我想我已经把它们都修好了:http://jsfiddle.net/exuY9/

有几点:

  1. 在您的最后一点 JS 中,您在另一个事件处理程序内部有一个事件处理程序。虽然这是合法的,但我怀疑你的意图;
  2. 您的代码实际上可能一直在工作,我认为它可以按照您的意愿显示菜单,但它也立即隐藏了它们。为什么?因为您的 #dr1、#dr2 的 onclick 处理程序允许点击继续通过页面到达 HTML 的 onclick 处理程序,它立即又如此快速地取消了 show(),您认为根本没有发生任何事情;
  3. 我还将您的所有代码移至 $(function(){...});块,只是因为我不确定你是否在你的head 中插入了这段代码,在这种情况下,元素不会出现以附加处理程序。如果您的脚本附在 body 的末尾,那么这将不那么令人担忧;
  4. 无需为同一类的每个 ID 创建一个新的处理程序,您可以为该类创建一个。您可以在修改后的代码中多次看到我是如何做到这一点的;
  5. 而且,作为一种风格,前端开发人员已经习惯使用 Javascript 中的单引号和 HTML 中的双引号。这将为您省去很多麻烦,因为如果您在两者中都使用双引号,您最终将需要一直转义。

【讨论】:

  • 嗨 mkoistine,我想要你在小提琴中提供的相同功能,但它在我的网页中不起作用
  • 我正在使用上述插件
  • 啊,好吧,您需要更新您的 jQuery(您的已经很老了),或者您需要将事件处理程序转换回旧的 click 样式。试试这个:jsfiddle.net/exuY9/1。此外,您的.draggables 上可能有一个“点击”处理程序,它正在消耗您的点击次数。很难说你在这里发布的内容。
  • 我只想说,通过将这些“菜单”放在可拖动对象中,您的生活变得有些困难。这并非不可能成功,但它需要对事件的理解比您迄今为止在这里展示的更深入。我一直认为这是一个很好的起点:quirksmode.org/js/events_order.html
  • 谢谢 mkoistinen,我将通过上面的链接在活动中获得良好的开端
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多