58

ボタン付きのHTMLページにJavaScriptコードがあります。ボタンclick()のイベントを処理するという関数があります。onClickボタンのコードは次のとおりです。

<input type="button" onClick="click()">button text</input>  

問題は、ボタンがクリックされたときに関数が呼び出されないことです。私はここで何が間違っているのですか?

4

10 に答える 10

121

2つの観察:

  1. あなたは書くべきです

    <input type="button" value="button text" />
    

    それ以外の

    <input type="button">button text</input>
    
  2. 関数の名前を変更する必要があります。関数click()はすでにボタンで定義されており(クリックをシミュレートします)、メソッドよりも高い優先度を取得します。

ここには明らかに間違っている提案がいくつかあることに注意してください。それらに多くの時間を費やすべきではありません。

  • 使用しないでくださいonclick="javascript:myfunc()"。ハイパーリンクjavascript:の属性内のプレフィックスのみを使用してください: 。href<a href="javascript:myfunc()">
  • セミコロンで終わる必要はありません。onclick="foo()"どちらも問題なく動作しonclick="foo();"ます。
  • HTMLのイベント属性では大文字と小文字が区別されないためonclick、すべてが機能します。属性を小文字で記述するのが一般的な方法です。javascript自体は大文字と小文字を区別するため、を記述する場合は、すべて小文字にする必要があることに注意してください。onClickONCLICKonclickdocument.getElementById("...").onclick = ...
于 2011-03-28T03:25:52.447 に答える
17

click()は予約語であり、すでに関数です。名前をclick()からrunclick()に変更してください。正常に機能します。

于 2011-07-22T12:52:54.927 に答える
3

これを試して

<input type="button" onClick="return click();">button text</input>  
于 2011-03-28T02:07:08.097 に答える
3

同じ関数を呼び出しているかどうかを確認してください。

<script>function greeting(){document.write("hi");}</script>

<input type="button" value="Click Here" onclick="greeting();"/>
于 2017-12-14T08:12:46.007 に答える
0

大文字と小文字を修正してみてください。onclickそれ以外のonClick

参照:Mozilla Developer Docs

于 2011-03-28T01:59:17.597 に答える
0

私はあなたがすることをお勧めします: <input type="button" value="button text" onclick="click()"> これがあなたを助けることを願っています!

于 2012-12-09T11:40:00.333 に答える
0
<script>
//$(document).ready(function () {
function showcontent() {
        document.getElementById("demo22").innerHTML = "Hello World";
}
//});// end of ready function
</script>

onclick関数呼び出しが機能しないという同じ問題がありました。通常の「$(document).ready(function(){});」内に関数を含めました。jqueryスクリプトをラップするために使用されるブロック。このブロックをコメントアウトすると、問題が解決しました。

于 2016-07-16T15:43:40.137 に答える
0

はい、関数の名前を変更する必要があります。Javascriptには予約済みのメソッドがあり、onclick = >>>> click()<<<<はその1つなので、名前を変更するか、末尾に「s」を追加します。 強いテキスト`

于 2016-08-02T03:57:20.667 に答える
0

今日、これは私にも起こりました。関数名がキーワードと競合している可能性があります。私の場合はscrape()です。関数名を変更すると、すべて正常に動作します。

于 2017-05-16T03:31:36.613 に答える
0

アイテムがイベントに応答しない原因の1つは、アイテムが別のアイテムとオーバーラップしている場合です。その場合、z-indexクリックしたい項目の値を高く設定する必要があります。

于 2021-01-10T17:03:28.503 に答える