2017-03-22 19 views
-1

以下のコードは、押されたときにonclickイベントを変更するために使用されますが、単にパラメータの機能を変更するだけです。javascriptでonclick関数を変更する

function addWhere(nameID) 
{ 
    document.getElementById('addWhereButton').setAttribute("onclick",addWhere(nameID++), false); 

    document.getElementById('addWhereButton').onclick = function() {addWhere(nameID++)}; 
} 

このコードは動作しておらず、他の誰もこの特定の質問をしていないようです。

おかげ

EDIT

さらなる試験が奇妙な完全な何かを示し、その

document.getElementById('Testing').innerHTML = nameID++; 

のような名前IDを表示するコードのビットは、名前IDが実際にインクリメントなっていることを示しているが、数は渡さonclickによって変更されることはありません。

+3

問題は、あなたがのonclickを定義関数内のonclick属性を定義している、です。関数をどこかで定義するか、決して適用されません。 – Snowmonkey

+0

あなたが明確にすることができます、私はそれが増分が起こるので、関数の中でそれを定義しなければなりません。 – FesteringDoubt

+0

この関数にonclickが既に設定されているaddWhereButtonがありますか?この関数が#addWhereButtonをaddWhere関数を指すことを期待しているのであれば、実際にはそれを見ることはありません。このaddWhere関数が動作するための最初の呼び出しを作成する必要があります。 – Snowmonkey

答えて

1

同様:

function addWhere(nameID) { 
 
     console.log(nameID); 
 
    }; 
 

 
    let nameID = 1; 
 
    document.getElementById('addWhereButton').onclick = function() {addWhere(nameID++)};
<button id="addWhereButton">click to increment nameID</button>

+0

まで試してみると、nullのonclickプロパティを設定できないという不満があります。 – FesteringDoubt

+0

また、コードは毎回1ずつインクリメントされることはなく、パラメータは2になります。これは、私が望んでいないものです – FesteringDoubt

+0

@FesteringDoubt ** id **属性_addWhereButton_を持つ要素がDOM内にあることを確認してください上記のスニペットの例 - そうでない場合は、そのエラーメッセージが表示されます –

関連する問題