問題タブ [this]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 「これ」の変更を処理する最良の方法
jQuery を使用して JavaScript を記述しているときに定期的に遭遇する問題は、オブジェクトのメソッドにイベント リスナーの追加が含まれる場合、'this' がオブジェクトへの参照から、イベントをトリガーした DOM 要素への参照に変更されることです。
現在、イベント ハンドラー内からオブジェクトを参照する場合は、次のようにします。
イベントが常に「これ」を再割り当てしたいという事実を処理するより良い方法はありますか
apache-flex - as3クラスの「this」参照とは正確には何ですか?
「this」参照について少しでも言及するためにインターネットを上下に検索しましたが、何も見つかりませんでした!!! 「これ」については誰も話していないようです。私は経験豊富な C++ プログラマーなので、'this' ポインター/参照の概念に精通しています。私の質問は、as3 クラスの「this」参照とは正確には何ですか? 編集しようとすると、コンパイラ エラーがスローされます。それを別のクラスインスタンスに割り当てると、「これ」が「指す」もののコピーが作成されるようです。それを識別しようとするすべての試みは、通常の変数クラスのインスタンスと区別がつかないことを示しています。私の最終的な目標は、クラス インスタンスを別のインスタンスにポイントすることです。プロセスを簡素化するために「これ」を使用できるかどうかを判断しようとしています。ありがとう!
javascript - JavaScriptプロトタイプオブジェクトを使用する場合のイベントメソッドの「this」キーワード
イベントハンドラーでJavaScriptのプロトタイプクラスのメンバー変数にアクセスしようとしています。通常は「this」キーワードを使用します(イベントハンドラーの場合は「that」[これのコピー])。 。言うまでもなく、私はいくつかの問題に直面しています。
たとえば、次のHTMLスニペットを取り上げます。
そしてこのJavaScriptコード:
MyClassオブジェクトのインスタンス化とNormalMethodの呼び出しは、期待どおりに機能します( "value"と警告)が、 "this"キーワードがイベントターゲット(anchor()HTML要素)を参照するようになったため、リンクをクリックすると未定義の値になります。 。
私はプロトタイプのJavaScriptスタイルに慣れていませんが、過去には、クロージャーを使用して、コンストラクターで「this」のコピーを作成しました。
そして、「that」オブジェクトを介してイベントメソッドのメンバー変数にアクセスできます。これはプロトタイプコードでは機能しないようです。これを達成する別の方法はありますか?
ありがとう。
jquery - 次の jQuery スニペットを機能させるにはどうすればよいですか?
func
その上でぼかしたり「Enter」を押したりすると実行したいです。ただし、上記のコードはぼかしの場合にのみ機能し、「Enter」を押した場合、「parentNode へのアクセスが許可されていません」と報告されます。
別のコンテキストのキーワードに関連するものであることはわかっていthis
ますが、修正方法がわかりません。
jquery - Jquery AJAX 呼び出し: $(this) が成功後に機能しない
jQuery ajax 呼び出しの後に $(this) が機能しないのはなぜでしょうか。
私のコードはこのようなものです。
この場合、ajax 呼び出し後に $(this) が機能しないのはなぜですか? ajaxの前に使用しても機能しますが、その後は効果がありません。
jquery - jQuery - IE6,7 は $(this) をサポートしていませんか?
ねえ、最新のすべてのブラウザで動作するコードがありますが、IE 6.7 では動作しません。
background-position は変更されますが、slideUp または slideDown は変更されません。なぜですか?
$(this) のせいだと思ったのですが、よくわかりません。もしそうなら、それを機能させる方法はありますか?
編集:「next()」関数に問題があるようです。
php - 変数 $this は PHP で何を意味しますか?
私は$this
常に PHP で変数を目にしますが、それが何に使用されているのかわかりません。個人的に使ったことはありません。
$this
変数が PHP でどのように機能するか教えてもらえますか?
jquery - Jquery $this または each() で一度に 1 つのリンクを指定する
同じことを書く方法がたくさんあるように見えるので、jQueryを学ぶのは難しいと思います。
演習として、アンカー タグ内のテキストを取り、リンクの href 属性に詰め込みたいと思います。
例えば
なる
私の最初の試みは
リンクごとにこのアクションを実行するように指定する必要があるため、これは明らかに機能しません。
foreach ループを使用する必要がありますか? .each() 関数? それとも$this表記?それらはすべて機能しますか?
javascript - JSオブジェクトthis.method()がjQuery経由で壊れる
これには簡単な答えがあると思いますが、金曜日の午後で、疲れています。:(
説明の仕方がわからないので、先に進んでサンプルコードを投稿します...
以下は単純なオブジェクトです。
そして、ここでそれが使用されています:
最後の行を除いて、すべてが機能します。jQuery が doSomething メソッドを呼び出すと、「this」がオーバーライドされ、動作が停止します。
使おうとしてもうまくいきStuff
ません。
では、オブジェクト自体のプロパティを参照して、jQuery がそれを呼び出すことができるようにし、オブジェクトが呼び出し元の jQuery オブジェクトと連携できるようにするにはどうすればよいでしょうか?
つまり、次のようなことができるようになりたいです。
(ここ<CurrentObject>
で、 と<CallerElement>
は適切な名前に置き換えられます。)
jquery - クラスの継承を使用する場合、jQuery イベント ハンドラーなどのオブジェクトで元の this を取得する
jQuery はクラスのようなモデルで動作するように設計されていないことは知っていますが、基本クラスを拡張できるようにすることで、私のニーズに完全に適合することができます。
私は次のことをすることから始めました:
すべて正常に動作し、. 経由で基本メソッドとプロパティにアクセスできますthis
。それは、イベント ターゲットを に適用する jQuery イベント ハンドラ (など) のようなものを追加しようとするまでですthis
。
したがって、次のようになります。
jQuery で動作するクラスの作成と継承 ( John Resig のものやDUIなど) のいくつかを見つけましたが、同じ問題が発生します。
this
では、これらの状況でオリジナルに到達するにはどうすればよいでしょうか?
更新:イベント ハンドラー (など) は、jQuery.myBase
またはプラグイン自体のいずれかにある可能性があります。