多个下拉菜单并单击样式问题

时间:2013-04-08 18:13:52

标签: jquery

我知道添加这个问题是一个很长的镜头,任何人都想要回答,因为必须浏览我所有的JQuery脚本来解决我目前遇到的任何问题,但是我不知道还有什么要看。

实时查看: https://tornhq.com/WorkingOn/Account/Management/PageBuilder/box.html

我最近已经实现了,所以当你实现另一个时,你可以有一个以上的下拉,但是我在执行以下操作时遇到了一些问题;

  • 点击输入字段后:
    • 其他输入字段在鼠标悬停效果上失去了它
    • 将鼠标悬停在您选择的输入字段的下拉列表上,然后还原样式
  • 单击一个输入字段后,它会下拉,但是丢弃内容然后单击另一个输入字段就会中断。

这是我的第一个真正的JQuery脚本,而我所做的其他任何事情主要都是来自这里和那里的片段等等。我不知道如何解决这些问题而且我现在完全失去了。

非常感谢您花时间提供帮助以及您提供的任何帮助和/或建议,

最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

你是对的,这里有很多东西......

1)为什么同一个选择器上的mousedown和click事件处理程序基本上做同样的事情?

2)而不是mouseover和mouseout,我可能会使用悬停,或者只有当你所做的只是修改CSS时才尝试使用CSS。

3)var state = false;第85行是全局的,不能被多个对象唯一使用。如果需要在单个元素上设置某个状态属性,请改用该元素的data属性。

4)请记住,在使用jQuery时,您通常会处理一组匹配的元素,而不仅仅是一个。因此,您需要确保处理所需的元素。

5)我可以写一部分代码的一个例子:

而不是:

    $('.Row1 input:text').mouseover(function () {
        var thisParent = $(this).parent().attr("id");
        if (!FZTxtInputState) {
            $("#" + thisParent + " .DropBtn").css({

我会:

        $('.Row1 input:text').mouseover(function () {
            if (!FZTxtInputState) {
                $(this).closest(".DropBtn").css({

这不会解决你所有的问题,但我至少可以看到你正在尝试学习jQuery!