-1

これらは私のプロジェクトの私のjsファイルです:

tablequerywrapper.js
gauge.min.js
Functions.js
colortip-1.0-jquery.js 
ObjectivesFunctions.js
jquery.bxslider.js

で: Functions.js、私は:

$('li div[id^="objective_option_conversion_points_"]').click(function () {
  alert('3');
}

$('#sortedPixels tbody').sortable({
    items: '> tr',
    forcePlaceholderSize: true,
    placeholder: 'must-have-class',
    start: function (event, ui) {
        // Build a placeholder cell that spans all the cells in the row
        var cellCount = 0;
        $('td, th', ui.helper).each(function () {
            // For each TD or TH try and get it's colspan attribute, and add that or 1 to the total
            var colspan = 1;
            var colspanAttr = $(this).attr('colspan');
            if (colspanAttr > 1) {
                colspan = colspanAttr;
            }
            cellCount += colspan;
        });

        // Add the placeholder UI - note that this is the item's content, so TD rather thanTR
        ui.placeholder.html('<td colspan="' + cellCount + '">&nbsp;</td>');
    }
}).disableSelection();

私はそれを実行して得ました:

Uncaught TypeError: Object #<Object> has no method 'sortable'

このエラーは が必要なためだと読んだのでJQUERY UI、次のように追加しました。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

エラーはなくなりました。しかし、id = "objective_option_conversion_points_1" を持つ div を押しても、何も起こりません。

だから私は試しました:

$('li div[id^="objective_option_conversion_points_"]').on('click', function () {
    alert('3');
}

しかし、何も起こりません。

だから私は試しました:

$('li div[id^="objective_option_conversion_points_"]').live('click', function () {
    alert('3');
}

しかし、別のエラーが発生しました:

Uncaught TypeError: Object [object Object] has no method 'live'

どうすれば解決できますか?

ps

私のjsfiddleでは、動作します:

http://jsfiddle.net/alonshmiel/adpFV/7/

どんな助けでも大歓迎です!

4

2 に答える 2

2

live()は非推奨であり、お使いの jQuery バージョンでは既に削除されている可能性があります。

この目的でデリゲートを使用できます。

しかし、セレクターは私の目を痛めているだけです。なぜそこを使わなかったの#ですか?

$('#objective_option_conversion_points_').on('click', function(){
    alert('3');
});
于 2013-09-20T19:08:44.783 に答える
1

使用on()することは、物事を進める正しい方法です。

$( 'li' ).on( 'click', 'div[id^="objective ... "]', function () {
    // do something.
}

divを選択するための構文についてはよくわかりませんが、2番目のパラメーターdiv[id^="obj ... "]は作成されたものをリッスンします。

于 2013-09-20T19:11:23.877 に答える