JQuery не работает на iOS, но работает на всех других браузерах - PullRequest
0 голосов
/ 23 марта 2019

jQuery выдает ошибку в консоли без заголовка в строке 2129 jQuery версии 1.12.4.Проблема связана с функцией обработчиков и возникает только на iOS.

Я использую формы ниндзя и увольняюсь от прослушивания смены модели поля.JQuery работает со всеми другими браузерами.

Я уже пытался добавить событие загрузки документа и указатель курсора.Просто кажется, что все, что я пытаюсь, не работает.

jQuery(document).on( 'nfFormReady', function( e, layoutView ) {

new updateOutput();

});

var updateOutput = Marionette.Object.extend( {
initialize: function() {

    var fieldsChannel = Backbone.Radio.channel( 'fields' );
    this.listenTo( fieldsChannel, 'change:modelValue', this.updateDays );
},

updateDays: function(model) {
    if(model.get( 'key' ) == "departure_1551883705167") {
    var arrival = document.getElementById('nf-field-18').value;
    arrival = new Date(arrival.split('/')[2],arrival.split('/')[1]-1,arrival.split('/')[0]);
    var departure = document.getElementById('nf-field-19').value;
    departure = new Date(departure.split('/')[2],departure.split('/')[1]-1,departure.split('/')[0]);
    var timeDiff = Math.abs(departure.getTime() - arrival.getTime());
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
    document.getElementById('nf-field-20').value=diffDays;
    jQuery( '#nf-field-20' ).val( diffDays ).trigger( 'change' );

    }

    if(model.get( 'key' ) == "listradio_1551878042892") {
    var acc = jQuery("input[name=nf-field-9]:checked").val();

    var data = {
        'action' : 'accommodation_costs',
        'accomm' : acc,
    };

    jQuery.post(ajax_objects.ajax_url, data, function(response) {

    jQuery( '#nf-field-21' ).val( response ).trigger( 'change' );

    }); 

    }

    if(model.get( 'key' ) == "bikes_1551882140137") {

    jQuery("input[name=nf-field-13]:checked").each(function() {

  var chkId = jQuery(this).attr("id");
  var inpId = chkId.substring(chkId.indexOf("-") + 1);
  var $inp = jQuery("<input />", {
    type: "number",
    name: "Qty" + inpId,
    id: "Qty" + inpId,
    style: "display:inline-block; cursor:pointer;",
    "onclick": "function () {}"
  });
  jQuery(this).next("label").after($inp);
});

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