1

私は次のコードを持っています:

$('#detailData')
    .on('click', '.gridLink', function () {
        dialog(this);
        return false;
    })

function dialog(link) {
   var $link = $(link);
   var viewURL = $link.attr('data-href')

私はそれをこれに置き換えることができると言っているのは正しいですか?

$('#detailData')
    .on('click', '.gridLink', function () {
        var $gridLink = $(this);
        dialog($gridLink);
        return false;
    })

function dialog($gridLink) {
   var viewURL = $gridLink.attr('data-href')

私はこれをstackoverflow.comのコードレビューに配置しようとしました。スタックアカウントに接続できなかったため、誰かがログオンの問題を修正する必要があります:-(

4

2 に答える 2

3

はい、foo = $(this)完全に合法で合法です。実際、それはまったく珍しいことではありません。thisjQuery オブジェクトで何度もラップする必要がある場合は、これを行うのが賢明です。このようにして、一度ラップすると、パフォーマンス上の利点を提供する作業への参照が得られます。

于 2012-09-25T18:48:20.923 に答える
1

はい、どちらの場合も渡す方法は完全に合法です。これには、使用するたびにアクセスを試みるのではなく、キャッシュして再利用するという利点もあります。

于 2012-09-25T19:04:35.740 に答える