【问题标题】:Can't run function from button onClick无法从按钮 onClick 运行功能
【发布时间】:2014-02-23 04:51:31
【问题描述】:

我正在尝试从按钮 onClick 事件运行一个函数,但由于某些非常奇怪的原因,它不想工作。

我想让函数从带有“all()”的 onClick 属性的按钮运行,但是它不起作用,但是当我将它更改为带有“javascript:all()”href 属性的锚点时成功了吗?

HTML:

<div id="content">
    <input id="heroes" type="text" class="form-control" id="tokenfield-typeahead" />
    <button id="all" onClick="all()">Select/Deselect All</button>
    <button id="random" onClick="random()">Random</button>

    <!-- Example Link to Prove Point -->
    <a href="javascript:all()">Example: Select/Deselect All</a>
</div>

jsfiddle:http://jsfiddle.net/spedwards/2T9TA/

谁能告诉我为什么这不起作用?如果需要,我会创建一个 javascript 点击事件,但我不想这样做。

【问题讨论】:

  • 既然使用了 jQuery,为什么不添加事件呢?
  • @elclanrs jQuery 在页面上并不意味着它需要被使用。有时有更简单的方法来做事。

标签: javascript


【解决方案1】:

不知道为什么它不起作用,但我尝试将你所有的 name 函数更改为 allt 并且它起作用了:

<a onclick="allt()">Example: Select/Deselect All</a>
function allt() {
//your code
}

【讨论】:

  • 哈哈我也是,据我所知不是保留字
  • @Phil 谢谢。我很惊讶这在仍然不支持它的浏览器中不起作用。但毫不奇怪,这当然是微软造成的,因为他们总是这样做。
  • @Spedwards:document.all 是大多数浏览器中的现有属性,Chrome 和 Firefox 也是如此。并且document 的属性被导入到内联事件处理程序的范围内。
【解决方案2】:

我相信您的标签中需要一个类型属性。所以,试试这个:

<button id="all" type="button" onClick="all()">Select/Deselect All</button>

【讨论】:

  • 不是这样的。当你不给按钮设置类型时,它默认为按钮。
  • buttons 默认为 提交 按钮。如果它们不在表单内,“提交”按钮和“按钮”按钮没有区别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-14
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多