2012-01-23 113 views
3

制作按钮(javascript)的最佳方式是什么?以及什么是正确的标签? “a”,“b”还是其他标签?我应该为这样的JavaScript按钮使用什么标签?

示例 - http://jsfiddle.net/S7FPH/

<html> 
<head> 
<style type="text/css"> 
a.a_button, b.b_button { 
    margin: 10px; 
    background-color: green; 
    width: 100px; height: 20px; 
    text-align: center; 
    display: block; 
    color: yellow; 
} 
a.a_button {text-decoration: none;} 

b.b_button{ 
    cursor: pointer; 
    font-weight: 100; 
} 
</style> 

<script type="text/javascript"> 
    function test(){ 
     alert("test"); 
    } 
</script> 
</head> 
<body> 

<a class="a_button" href="" onclick="test(); return false;">click</a> 

<b class="b_button" onclick="test();">click</b> 

</body> 
</html> 

UPDATE:

Thats how it should look 人们问这取决于我多么想使用它,所以这里是一个例子。

关于“按钮”标签 - 是thear是使“按钮”标签看起来类似于我的例子(设计)?关于“ul”的 - 我喜欢它,但我不知道如何定位它。

回答

5

Unobtrusive JavaScript和使用方法:

  • 的链接(<a href="fallback">…</a>)如果你能回落到正规的链接,如果JS不起作用
  • 提交按钮(<input type="submit"><button type="submit">…</button>),如果你能回落到一个表单提交,如果
  • 基本按钮插入用JavaScript<input type="button"><button type="button">…</button>)的DOM,如果没有合理的回落提供的JS不起作用。

您的简化示例与您的实际用例分离得太远,无法分辨以上哪项适用于此护理。

请注意,以上所有内容都是免费提供的。使用未设计为与之交互的元素需要使用tabindex(某些较旧的浏览器不支持此功能)添加可聚焦性,且不具有可聚焦性,则只能使用指点设备(如鼠标)与它们进行交互,而不能与线性输入设备(如键盘)。

请勿使用粗体元素。那将是无稽之谈。

人们问它取决于我想如何使用它,所以这里是一个例子。

这可以回落到足够简单的链接。您还应该使用pushState,这样您就不会中断书签。

关于“按钮”标签 - 是thear是使“按钮”标签看起来类似于我的例子(设计)?

只需更改background-colour s和border-style s。

关于“UL” - 我喜欢它,但我不知道如何将它这样

float S,或display: inline-block,用理智margin S和足够width的合成位置,以确保您获得两个项目每行。

0

Your Button is an anchor so so use <a></a> tag。

W3C建议使用表格中每个按钮的<input>标签。

Tag Input

0

这是多大一个纯粹的你是一个问题。

我更喜欢a我自己,因为你得到的游标是免费的,但是你需要在onclick返回false来不重新加载页面。

在这两种情况下,你可以指定在头部的onload,而不是内嵌的onclick

如果你需要一个按钮,也有输入标签和按钮标记,将做的工作太多

0

如果不知道按钮应该做什么以及在哪种情况下,就不可能给出肯定的答案。这个例子太抽象了。

但是ab很可能是错的,不是语法而是语义上的。使用span,可能具有class属性,会更好。

如果元素应该是JavaScript动力按钮而没有其他东西,那么是否有理由不使用button元素?

0

如果您正在寻找接受用户输入的元素,而无需导航到新的URL,则应该使用button标记。

0

我建议a标签有意义的href属性。事情是这样:

<ul id="nav"> 
    <li><a href="#first">First</a></li> 
    <li><a href="#previous">Previous</a></li> 
    <li><a href="#next">Next</a></li> 
    <li><a href="#last">Last</a></li> 
</ul> 

通过这种方式,用户可以将鼠标悬停在该元素并得到什么点击它会做的想法。请注意,即使您隐藏了CSS中的文本,也可以使用背景图像。当然,您需要禁止默认的浏览器操作,以避免在地址栏中出现“#first”,并让浏览器查找ID为“first”的元素并跳转到该地址。

使用a标签的另一个好处是,启用键盘导航的用户将能够从一个选项卡切换到下一个选项(所以不要忘记在样式表中包含:focus规则)。

相关问题