データ属性を使用して変数をどのように対象として更新できるかを知りたいと思います。データ属性を使用して変数をJqueryでターゲット設定および更新する
Htmlの
<label>Update Foo</label>
<input type="range" class="slider" min="1" max="100" step="1" value="50" data-var="foo">
<label>Update Bar</label>
<input type="range" class="slider" min="1" max="100" step="1" value="10" data-var="bar">
はJavaScript
var foo = 50, // when slider is changed these variables are updated
bar = 10;
// update global variable
function updateVariable(variable, value) {
variable = value;
console.log(foo);
console.log(bar);
// other function called here that uses foo and bar
}
// input even listener
$('.slider').on("change mousemove", function() {
updateVariable($(this).data("var"), $(this).val());
});
私は複数を持ってする方法を把握しようとしていますので、私はこれを行う方法をお知りになりたい理由は、ありますJSをシンプルに保ちながら、変数を更新する入力要素。これはイベントが単に設定されない理由です。foo = $(this).val()
各入力要素に対してイベントリスナーと関数を作成する前に、これを処理するより効率的な方法を知りたいと思います。
私は冗長性についてあなたの意見を理解していますが、おそらく私はこの例に従っていません。私が知ることから、スライダーが移動した後の 'foo = 50'が移動します。 – DRB
そうです。複数の入力要素がある場合、 'foo'変数は無意味です。代わりに要素から直接属性を読み取る必要があります。 –
例を少し修正しました。もちろん、この例では 'foo'と' bar'は意味がありませんが、コードの他の部分で目的があるとします。私のような方法でこれらの変数を更新し、他の場所で使用することは可能でしょうか?これはすべてイベントハンドラで行うことができますか? – DRB