2

次のコードが与えられます:

$(".force-selection").blur(function() {
        var value = $('matched-item').val();
        //check if the input's value matches the selected item
        if(value != $('#matched-item').data('selected-item')) {
            //they don't, the user must have typed something else
            $('#matched-item')
                .val('') //clear the input's text
                .data('selected-item', ''); //clear the selected item
        }
});

$( "。force-selection")jQueryセレクターによって一致した要素を参照するにはどうすればよいですか?私は匿名のJS関数についてあまり明確ではなく、人々がこれらを次のように宣言することをどのように知っているかについて混乱しています。

function()

そして時々このように:

function(event)

そして時々このように:

function(element, update, options)

そして他のすべての方法。

4

2 に答える 2

1

.currentTarget渡された jQuery イベント オブジェクトを最初の引数として使用できます。

$(".force-selection").blur(function(e) { //<-- define e as parameter for this function. it's short for "event"
        e.currentTarget; //The element a blur was triggered on
        var value = $('#matched-item').val(); //<-- add "#"



        //check if the input's value matches the selected item
        if(value != $('#matched-item').data('selected-item')) {
            //they don't, the user must have typed something else
            $('#matched-item')
                .val('') //clear the input's text
                .data('selected-item', ''); //clear the selected item
        }
});
于 2012-07-01T19:36:20.097 に答える
0

this キーワードを使用して、現在のクロージャを参照します。これを jQuery 呼び出しでラップすると、参照される要素になります。

$(".force-selection").blur(function() {
    var value = $('matched-item').val();
    //check if the input's value matches the selected item
    if(value != $('#matched-item').data('selected-item')) {
        //they don't, the user must have typed something else
        $('#matched-item')
            .val('') //clear the input's text
            .data('selected-item', ''); //clear the selected item
    }
    //-----
    $(this) == current .force-selection
    //-----
});
于 2012-07-01T19:36:44.693 に答える