イベントを.on()メソッドでフックしたい。問題は、イベントが発生する要素のオブジェクト参照を取得する方法がわかりません。たぶんそれは方法が実際に働く方法の中間理解です...しかし、私はあなたが助けることを願っています。ここでJonathanで.on()を使ってイベントをフックする
は私が何をしたいです:ファイルが選択されている場合
、私はパスがdiv要素で
<div class="wrapper">
<input type="file" class="finput" />
<div class="fpath">No file!</div>
</div>
を表示させたいここに私のスクリプトは
$(document).ready(function() {
$this = $(this);
$this.on("change", ".finput", {}, function() {
var path = $(this).val()
$(this).parents().children(".fpath").html(path.split("\\").pop());
});
});
のようなものですそれだけでは機能しません。この
$(document).ready(function() {
$('.finput').on("change", function() {
var path = $(this).val()
$(this).parents().children(".fpath").html(path.split("\\").pop());
});
});
をお使いの{}は何をするのでしょうか?私はあなたがそれを取り除くことができるので必要ではないと思う! –
正確には動作しません。 'on'コールバックの中で、' this'はクラス 'finput'を持つ要素を参照します。 **あなたのコードはうまく動作します**:http://jsfiddle.net/JjnmE/厳密なモードで動作している場合、 '$(this)'はおそらく動作しません。代わりに '$(window)'を使用してください。 –
http://jsfiddle.net/g4k5d/ < - 私の作品、あなたの最後の行に問題がなければなりません。 –