質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

3回答

870閲覧

Jqueryでfunction ()と指定する場面のルールについて

yukina00235

総合スコア63

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/05/02 01:42

Jqueryを勉強しているのですが、いまいち指定のルールというかタイミングがわからないので教えてください。

jquery

1$("div").click(function (){ 2 $("div").text("click!"); 3});

という感じで、指定したセレクタのあとに$("div").click(function (){ といった感じでfunctionを指定するルールと、

jquery

1$("#hoge").css("font-size","30px");

といった感じで、そのまま記述方法があるのですが、(function (){ を指定するルールは何になりますでしょうか?イベント時の指定という事ですか?
(function (){を指定する何か明確なルールがあれば教えて頂けないでしょうか?
説明を見ても、この時はこういう記述ですとしか記載がなく混乱しております…。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

functionはあくまで「関数」です。

例えばon()を例にとると引数の一覧にhandlerがあり説明に

Type: Function( Event eventObject [, Anything extraParameter ] [, ... ] )

とあります。

つまり、「指定のルール」が知りたいなら「リファレンスを確認しよう」ということになります。
「ルール」はいわば「仕様」なのでドキュメントで仕様を確認することで理解を深めます。

「なんとなく見つけたコードがそうやってたから」では自分がやりたいことをできるようにはならないので、「こういう仕様だからこう書いている」と確実にしていきましょう。

投稿2020/05/02 01:49

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukina00235

2020/05/03 02:51

何度も書きながらリファレンスを参考にいたします。 有難うございます。
guest

0

明確なルールは、jquery の関数が、関数を引数とするかどうかだと思います。

これで意味が分かるでしょうか?

例えば、click() 関数のリファレンスを見てみましょう。

.click() | jQuery API Documentation より

.click( handler )

と書いてあって、

handler
Type: Function( Event eventObject )
A function to execute each time the event is triggered.

のように handler のタイプは、Function( Event eventObject ) のように Event オブジェクトを引数に持つ関数であると明記されています。

投稿2020/05/02 01:45

編集2020/05/02 01:50
Yasumichi

総合スコア1773

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukina00235

2020/05/03 02:51

有難うございます。 まだまだ腑に落ちてきませんが、記述しているうちになんとなくですがルールみたいなものが見えてきたような気がいたします。
guest

0

ベストアンサー

以下の2つの違いに限ってどのように挙動するかを説明してみます。

[1]
まずこちらは、#hogeの要素の文字サイズが30pxになります。

jQuery

1$("#hoge").css("font-size","30px");

[2]
次にこちらは、#hoge要素をクリックするまで何も起きません。
クリックすると[1]と同じ挙動 (#hogeの要素の文字サイズが30px) になります。

jQuery

1$("#hoge").click(function() { 2 $("#hoge").css("font-size","30px"); 3});

つまり「click」など書いているのはイベントを指定している箇所です。
何もしなくても実行されるのが[1]
クリックなどイベントを検知してはじめて実行されるのが[2]
です。

投稿2020/05/03 10:13

new1ro

総合スコア4528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukina00235

2020/05/07 02:54

有難うございます。 同じ効果で.clickの有無でのfunction()の設定がわかりやすかったです。 完ぺきではないですが、とても理解が深まった気がいたします。 >>つまり「click」など書いているのはイベントを指定している箇所です。 やはりそうなのですね、何かして何かを起こす場合にこの書き方をするものだと今のところは理解しておきます。わかりやすいアドバイス有難うございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問