Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<;标签>&书信电报;标签/>;标记内部<;A>&书信电报;A/>;href上带有javascript函数的标记无法运行_Javascript_Html_Internet Explorer_Text To Speech - Fatal编程技术网

<;标签>&书信电报;标签/>;标记内部<;A>&书信电报;A/>;href上带有javascript函数的标记无法运行

<;标签>&书信电报;标签/>;标记内部<;A>&书信电报;A/>;href上带有javascript函数的标记无法运行,javascript,html,internet-explorer,text-to-speech,Javascript,Html,Internet Explorer,Text To Speech,我有一个标签在 当前的基本链接样式,不适用于语音阅读器 #测试2 很容易修复,但这不适用于IE #测试3 你好 需要修复的工作更多,但与所有知名品牌兼容 您应该在onClick事件上运行javascript,不要将其放在href上(使用#或类似href的东西) 另外,如果你想防止链接被跟踪,别忘了返回false;(或event.preventDefault()。例如 改为在href中使用onclick <a href='#' onclick="onHello(); return

我有一个
标签在


当前的基本链接样式,不适用于语音阅读器

#测试2

很容易修复,但这不适用于IE

#测试3
你好
需要修复的工作更多,但与所有知名品牌兼容


您应该在onClick事件上运行javascript,不要将其放在href上(使用#或类似href的东西)

另外,如果你想防止链接被跟踪,别忘了返回false;(或event.preventDefault()。例如


改为在href中使用onclick

<a href='#' onclick="onHello(); return false;">Hello1</a>

为什么不跳过a标记,将javascript片段绑定到标签上

<label style="cursor:pointer" onclick="onHello();">Hello2</label>
Hello2

不要将Javascript放在
href
中,在某些情况下,出于安全原因,Javascript在某些浏览器中被禁用

使用
onclick
事件运行代码:

<a href="#" onclick="onHello();return false;"><label style="cursor:pointer">Hello2</label></a>

我认为这纯粹是语法问题。 标签用于表单,用户可以单击标签与表单输入交互


我知道你说不“为什么”和“为什么不”,但在链接中使用标签肯定不是一个好主意。。。这不仅仅是标签中的标签,因为标签标签应该被点击,所以你们有两个标签可以点击。IE似乎更重视示例中的标签,因此它不会在链接中运行代码。

您不需要onclick属性中的“javascript:”,因为onclick是javascript自动捕获的事件。您还需要添加
returnfalse结束。否则页面将重新加载,因为这是一个锚标记
你能举一个例子说明什么时候出于安全原因在href中禁用了javascript吗?我不知道它是否在默认情况下被禁用过(出于安全或任何其他原因),但我知道“javascript:”不是一个合适的协议,所以,imho,永远不应该在href属性上。@Guffa-这就是我得到的印象,我知道IE在语法上变得更加严格了。真是一种享受!如果你不想让网站在每次执行onclick时都反弹,请省去
href
标记。我明白你的意思,现在就明白了。我有大约200多个文件要更改,我想尝试为绝大多数编写一个自动修复脚本,然后处理边缘情况。对于这个项目来说,把时间花在生命周期结束的项目上是不值得的。但我同意你的观点,否则我会选择这个解决方案。
<label style="cursor:pointer" onclick="onHello();">Hello2</label>
<a href="#" onclick="onHello();return false;"><label style="cursor:pointer">Hello2</label></a>