1

jquery 1.5.2 から 1.10.2 にアップグレードしました。すべての .live() 呼び出しを .on() に変更しました。しかし、何らかの理由で、特定のボタンが機能しなくなりました。ロジックは次のとおりです。

$("#add_to_rule").on("click", function()   {            
        console.log('inside add');
        //only add if no validation errors.
        if  ( ($('#contact_details').val().length == 0) ) {
            $('#validation_error').html("There is no information to add");
            return false;
        }
        var emess = $("#validation_error").text();
        if ( emess.length == 0 )  { 
                add_routing_entry();            
                update_call_routing_tag();      
        }
    });

コンソールに「内部追加」メッセージを出力することはありません。コンソール ウィンドウから、要素が存在し、正しい値を返すことを確認するためにテストしました。コンソール内でのテストの結果の一部を次に示します。

$('#add_to_rule').val();
"Add to Rule"
$('#add_to_rule').on("click");
<input id=​"add_to_rule" type=​"button" class=​"submit" value=​"Add to Rule">​

また、テストとして、コンソール ウィンドウから次のようにボタンの値を変更しようとしました。

$('#add_to_rule').val("test");
[
<input id=​"add_to_rule" type=​"button" class=​"submit" value=​"test">​
]

そして、ボタンのテキストを更新します。

最後に、次の行を追加して、ピックアップしている jquery ライブラリのバージョンをダンプしました。

console.log(jQuery.fn.jquery);

1.10.2 を出力します。

私が間違っているかもしれないことについての提案をいただければ幸いです。ありがとう。

4

1 に答える 1