- 締切済み
jqueryのthisはイベントが起きている要素?
jqueryのthisはイベントが起きている要素を示すそうですが、 下記の例の.js-is-input-error1をthisにしても必須項目と出てきません。 こちらの例であればイベントが発生している要素とは、必須項目というテキストが出て来るspanタグがそれに該当する要素ではないのでしょうか? https://codepen.io/anon/pen/VmgPav アニメーションなら動いている要素が、イベントが発生している要素ということでしょうか? イベントが発生している要素というのがどうもはっきりわかりません。 アニメーションなら、(div.anime).animation()ならdiv.animeがイベントが発生している要素ですよね。 (button).click() { (div.anime).animation() } であればbuttonではなくdiv.animationがイベントが起きている要素ですよね?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- muuming2001
- ベストアンサー率23% (202/847)
$(’div.anime’).animation('width','100%'); はイベントを起こしてるのではありません。 要素の操作をしてるだけです。
- doraneko66
- ベストアンサー率11% (535/4742)
イベントを起こしているのは、ボタンです。 書き方がめちゃくちゃだから、ちょっと良くわかりませんが functionはどこにあたりますか?
- muuming2001
- ベストアンサー率23% (202/847)
なんんか質問内のjavascript無茶苦茶なんで想像で回答します。 $("button").click(function(){ alert(this + "押されたよ"); }); 上記のような場合はボタンが押されたらってことなんで、ボタンが押されたら alert(this + "押されたよ"); を実行してねってことです。 なのでこの場合のイベントはクリックでfunction内のthisは押されたボタンです。
お礼
$("button").click(function(){ alert(this + "押されたよ"); }); のようにイベントファンクションの対象と実際にイベントが起こる要素が同じ場合はわかりやすいですが、下記のように違う場合どれかわからなくなります。 $('button’).click() { $(’div.anime’).animation('width','100%'); } の場合、
補足
$('button’).click(function{ $(’div.anime’).animation('width','100%'); }) の場合イベントを起こしているのはdivではなくbuttonなのですね。 アニメーションをしているのはdivなのに、イベントを起こしているのはbuttonということなので、イベントとは、動く、変化するという意味ではないのですね。 動く、変化するの開始をする始動ポイントのことをイベントを起こすと表現しているのでしょうか?