JQuery - мобильный Chrome - есть. Родитель - PullRequest
0 голосов
/ 09 января 2019

Итак, у меня есть скрипт jQuery, который прекрасно работает в PC Chrome, но не работает в мобильном приложении Chrome. В Mobile Chrome срабатывает следующая функция:

$("tr").live("click tap", function itinerary(){

Я знаю это, потому что я установил и переместил скрипт оповещения, чтобы найти причину этой проблемы:

alert("Works"); 

Итак, я сузил суть проблемы, и именно тогда, когда я пытаюсь запустить условную is.Parent script:

 if ( parent.is( "td.gfield_list_cell.gfield_list_53_cell3" ) ){

Опять же, предыдущий. Родитель работает в Chrome на ПК, но не в Chrome Mobile. Любые мысли о том, как я могу это почистить или в чем может быть проблема?

Спасибо!

1/23 ОБНОВЛЕНИЕ Люди попросили код, так что вот оно. Там много чего происходит, плюс я довольно новичок в jQuery. Я использую jQuery для нацеливания и обновления поля списка Gravity Forms. Следующее срабатывает на ПК, но не на мобильном устройстве. Я отметил, где он, кажется, останавливается

$(document.body).on("click tap", "#field_35_53 > div.ginput_container.ginput_container_list.ginput_list > table > tbody > tr", function(){

    var date = $('#input_35_28').val();
    var target = $( event.target );
    var parent = $( event.target.parentNode.parentNode.parentNode.parentNode );
    var child = $( event.target.parentNode );
    var index = $( "tr" ).index(this);
    var company = $("tr").eq( index ).find(".gfield_list_53_cell3 select option:selected").text();
    var feature = $("tr").eq( index ).find(".gfield_list_53_cell4 select option:selected").val();

    $("tr").eq( index ).find("td.gfield_list_53_cell3").each(function featurepop() {
    if ( parent.is( "td.gfield_list_cell.gfield_list_53_cell3" ) ){
    if( ('td.gfield_list_cell.gfield_list_53_cell4 > input[type="text"]') && ( company !== "**HOTEL**" ) ){
        $("tr").eq( index ).find(".gfield_list_53_cell2 input").val("");
        $( 'td.gfield_list_cell.gfield_list_53_cell4 > input[type="text"]' ).replaceWith( '<select title="Item/Task/Feature" name="input_53[]" style="display: block;"><option value="Custom" class="selected" selected="selected">Select Feature</option></select>' );
        $( 'td.gfield_list_cell.gfield_list_53_cell13 > input[type="text"]' ).replaceWith( '<input aria-label="Other" type="checkbox" name="input_53[]" value="" tableindex="60"><label id="label_35_53_13_1">Fee</label></input>' );
    }
//jQuery fires on Mobile Chrome up to here 
        var data1 = {
            'action': 'feature_pop',
            'dataType': 'json',
            'type' : 'json',
            'feature_name': feature,
            'company_name': company
        };
//Here is where it stops working in Mobile Chrome
    alert("boom");
        var json = jQuery.post(ajaxurl, data1, function(response_a) {
        }).done(function(chain){
            var var1 = $("tr").eq( index ).find("td.gfield_list_cell.gfield_list_53_cell3 > select option:selected").text();
            var var2 = $("tr").eq( index ).find("td.gfield_list_cell.gfield_list_53_cell2 > input").val();

                if( ( var1 == "**HOTEL**" ) && ( ! var2 ) ){
                    $( "tr" ).eq( index ).find( "td.gfield_list_53_cell2 input" ).val( "5:00 pm" );
                }

                if( var1 == '**HOTEL**' ){
                    $( 'td.gfield_list_cell.gfield_list_53_cell4 > select' ).replaceWith( '<input aria-label="Item/Task/Feature" autocomplete="new-password" type="text" name="input_53[]" value=""></input>' );
                }

            $("tr").eq( index ).find("td.gfield_list_53_cell5 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell6 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell7 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell8 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell9 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell10 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell11 input").val("");
            $("tr").eq( index ).find("td.gfield_list_53_cell12 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell4 select").empty();
            $("tr").eq( index ).find(".gfield_list_53_cell4 select .chosen-results").empty();

            $.each(chain, function(i, item) {
                $("tr").eq( index ).find(".gfield_list_53_cell4 select").append('<option value="' + chain[i].choices + '">' + chain[i].choices + '</option>');
                $("tr").eq( index ).find(".gfield_list_53_cell4 .chosen-results").append('<li>' + chain[i].choices + '</li>');
            });
            $("tr").eq( index ).find(".gfield_list_53_cell4 select").prepend('<option value="Custom" class="selected">Select Feature</option>');
            $("tr").eq( index ).find('select option[value="Custom"]').attr("selected",true);
            $("tr").eq( index ).find(".gfield_list_53_cell4").val( 'Select a Feature' );
            $("tr").eq( index ).find(".gfield_list_53_cell4 select").attr('style', 'display: block;');
            $("tr").eq( index ).find(".gfield_list_53_cell4 option").attr('class', 'selected');
            $("tr").eq( index ).find(".gfield_list_53_cell4 div[Title='Company']").attr('class', 'chosen-container chosen-container-single chosen-container-active');
            $("tr").eq( index ).find(".gfield_list_53_cell4 div a").removeClass('chosen-default');
        });
}
    });

    $("tr").eq( index ).find("td.gfield_list_53_cell4").each(function() {
        if ( child.is( "td.gfield_list_cell.gfield_list_53_cell4" ) ){
        var data2 = {
            'action': 'data_pop',
            'dataType': 'json',
            'feature_name': feature,
            'company_name': company
        };

        var json = jQuery.post(ajaxurl, data2, function(response_b) {
        }).done(function(getdata){
            getdata.sort;

            if(getdata.time){
                $("tr").eq( index ).find(".gfield_list_53_cell2 input").val("");
                $("tr").eq( index ).find(".gfield_list_53_cell2 input").val( getdata.time );
            }

            $("tr").eq( index ).find(".gfield_list_53_cell5 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell5 input").val( getdata.description );
            $("tr").eq( index ).find(".gfield_list_53_cell6 input").val("");

            if((typeof getdata.address1 != "undefined") && (getdata.address1 != "")){
                $("tr").eq( index ).find(".gfield_list_53_cell6 input").val( getdata.address1 + " " + getdata.address2 + ", " + getdata.address3 + ", " + getdata.address4 + ", " + getdata.address5 );
            }

            $("tr").eq( index ).find(".gfield_list_53_cell7 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell8 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell9 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell10 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell10 input").val( getdata.phone );
            $("tr").eq( index ).find(".gfield_list_53_cell11 input").val("");;
            $("tr").eq( index ).find(".gfield_list_53_cell11 input").val( getdata.website );
            $("tr").eq( index ).find(".gfield_list_53_cell12 input").val("");
            $("tr").eq( index ).find(".gfield_list_53_cell12 input").val( getdata.cancel );         

            });
        }
    })
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...