【问题标题】:Button type="image" not working按钮类型=“图像”不起作用
【发布时间】:2012-09-25 02:57:24
【问题描述】:

遇到了一个奇怪的情况 - 当我将按钮的“类型”从“按钮”更改为“图像”时,它停止工作。我已经在我的网站上进行了 100 次这种更改,而且我以前从未遇到过这个问题。

相关代码如下:

//working
<input type="button" value="Back" onClick="window.location='some/page.php'" />

//not working
<input type="image" src="/link/to/image.png" onClick="window.location='some/page.php'" />

我已经使用第一个代码对其进行了测试,并检查它会将我转到所需的页面。然后我只是简单地改变了类型并用相关的“src”替换了“value”。按钮显示正常,但点击后,我只是回到原来的页面。

真正困扰我的是,第二个 sn-p 代码在我网站的其他部分运行得非常好。只是这个页面无法正常工作。

真的很困惑 - 有人遇到过这个问题或有任何建议吗?

【问题讨论】:

    标签: html image button input


    【解决方案1】:

    您需要从 事件处理程序return false 以防止 默认操作,因为输入 type=image 充当提交按钮

    您也可以使用简单的&lt;img /&gt; 标签代替&lt;input /&gt;

    【讨论】:

      【解决方案2】:

      您可能已经将图像映射放入了一个表单中。当您单击它时,您正在提交表单。

      您应该改用常规链接。此处无需使用图像映射或 JavaScript。

      <a href="some/page.php">
          <img src="/link/to/image.png" alt="appropriate alternative text goes here">
      </a>
      

      【讨论】:

      • 也可以使用背景图像来锚定标签..或 上的 onClick 事件
      • 图片告诉用户链接的去向。它是内容。背景图片不合适。
      • 图像并非设计为交互式控件,因此默认情况下无法聚焦。图片永远不应该是某事的点击目标(包含图片的链接很好,链接就是点击目标)。
      • 使用带有点击事件的图片违反了良好网页设计的两个(相关)原则:progressive enhancementunobtrusive JavaScript
      • 使用纯 CSS 更好地设计按钮或链接,可能是渐变
      猜你喜欢
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2013-11-18
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多