javascript - 应用于 <a> 的简单 onclick 不工作 IE 和 FF

标签 javascript html css internet-explorer firefox

我有一个简单的列表如下:

<div class="settingButton"><a href="#"></a>
     <div class="subManu">
           <ul>
               <li><a onclick="alert('clicked!!')" href="#">Default Categories</a></li>
               <li><a onclick="alert('clicked!!')" href="#">Wizard</a></li>
                <div class="clear"></div>
            </ul>
            <div class="clear"></div>
      </div>
</div>

我没有看到单击链接时的警报!它在 Chrome 中工作正常,但在 IE 和 FF 中却不行。我在没有分配类的情况下使用了相同的结构,并且它按预期工作。也许问题出在 CSS 上,但我不确定是什么。这是下拉菜单的 CSS,

.settingButton { 
   background:url(/mobiledoc/jsp/dashboard/images/settings.png) 0 0 no-repeat;
   width:25px; 
   height:37px; 
   float:left; 
   position:absolute;
   right:13px;
   top:-30px;
}
.settingButton a {
   display:block;
   width:25px;
   height:37px;
}
.settingButton:hover {
   background:url(/mobiledoc/jsp/dashboard/images/settingsHover.png) 0 0 no-repeat;
}
.settingButton:active {
   background:url(/mobiledoc/jsp/dashboard/images/settingsActive.png) 0 0 no-repeat;
}
.settingButton div.subManu {
   display:none;
   height:100px;
}
.settingButton:hover div.subManu {
   background:url(/mobiledoc/jsp/dashboard/images/subNavArrow.png) no-repeat right 3px;    
   position:absolute;
   top:20px;
   z-index:99;
   right:0;
   width:250px;
   height:50px;
   display:block;
   padding:13px 0 0 0;
}
div.subManu ul {
   display:block;
   background:url(/mobiledoc/jsp/dashboard/images/dropDownMidBg.png) repeat-x;
   border-left:#547b9a 1px solid;
   border-right:#547b9a 1px solid;
   height:29px;
   padding:0 0 0 7px;
}
div.subManu ul li {
   width:110px;
   float:left;
   margin:0 5px;
   display:block;
   height:29px;
}
div.subManu ul li a {
   display:inline;
   color:#ffffff;
   font-family:Arial, Helvetica, sans-serif;
   font-size:12px;
   font-weight:normal;
   line-height:28px;
}
div.subManu ul li a:hover {
   color:#b7f630;
}
div.subManu ul li.active-manu a {
   color:#b7f630;
}

我经历了不同的问题,但没有找到任何相关的答案。如果您需要更多信息,请告诉我。

谢谢!

最佳答案

如果您不需要链接,请不要使用 A 元素,而是使用按钮或样式化的 span,例如

<style type="text/css">
  .clickable:hover {
    text-decoration: underline;
    cursor: pointer;
  }
 </style>
 ...
 <span class="clickable">thing to click</span>

无论如何,链接的首选方法是:

<a href="http://link for script-disabled browsers" 
   onclick="myFunction(); return false;">...</a>

关于javascript - 应用于 <a> 的简单 onclick 不工作 IE 和 FF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11465417/

相关文章:

javascript - 从外部函数获取 Alfresco.util.Ajax.request response.json 数据

javascript - 在 HTML5 中以两位数字格式显示输入标签(文本框控件)

html - 如何使用 CSS 制作 "button-like appearance"

jquery - 如何从最接近的不同 <tr> 获取 <td> 值

html - 如何在Shiny中默认选择verbatimTextOutput中的文本?

javascript - 下滑后div跳转

javascript - 协助推送菜单

javascript - 在第一个元素中添加 Highcharts 标签

javascript - jQuery - 获取元素的单个计数

html - 如何使用基础图标更改列表项样式?