2017-05-12 2 views
-1

私の質問は簡単です: 一般的なドットの後に変数または任意の変数としてイベントを持つ方法はありますか? このようなやり方はありますか?ドットの後の変数

var type = "onkeyup"; 
document.getElementById("test").type = myFunction; 

又は

+3

'のdocument.getElementById( "試験")[これはうまくいくはずです。 –

+2

あなたの質問は思ったほど単純ではありません。はい、イベントとして変数を持たせる方法はありますが、コード例で何ができるのでしょうか? – Clijsters

答えて

0
var element = "body"; 
document.element.style.marginTop = 0; 

使用[]表記の代わりにドット.。理由は、角カッコで可変のプロパティ名を扱うことができるからです。上記のMr_Greenが提供するコメントと同様に

var type = "onkeyup"; 
 
document.getElementById("test")[type] = myFunction; 
 

 
function myFunction() { 
 
    alert('worked') 
 
}
<input id='test'>

0

あなたは文字列としてaddEventListenerとイベントを使用することができます。

EventTarget.addEventListener()方法は、それを呼び出しているにEventTargetに指定されたイベントタイプのイベントリスナーのリストに指定されたEventListener互換オブジェクトを追加します。イベントターゲットは、ドキュメント内のElement、ドキュメント自体、Window、またはイベントをサポートするその他のオブジェクト(XMLHttpRequestなど)です。

document.getElementById('test').addEventListener('pointerdown', myFunction, false); 
//      id 
//        add an event listener 
//            event type 
//                callback 
//                   options 
0

.TYPE使用を除いてあなたのコードは、溶液の近隣にあり、ここで[タイプ]

<input type="button" value="Click me" id="test"> 

var type = "onclick"; 
document.getElementById("test")[type] =function myFunction(){ 
alert("Button Clicked"); 
} 

JSfiddleリンク

関連する問題