Почему js ведет себя иначе, когда Chrome Inspector открыт? - PullRequest
2 голосов
/ 26 августа 2011

РЕДАКТИРОВАТЬ : я смог решить эту проблему, изменив $.removeAttr('style') на attr('style',''). Но так и не выяснил, почему это вообще произошло.


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

То, что происходит, хотя и странно ... когда я щелкаю элемент и щелкаю, затем щелкаю назад, элемент перемещается вниз и вправо и делает это последовательно (каждый раз, когда он появляется немного вниз и вправо). Я подумал, что, возможно, стиль не удалялся должным образом, поэтому я открыл Инспектора, чтобы исследовать его свойства. Однако с открытым инспектором все работает отлично. Он отлично работает в Firefox и IE, но не в Safari.

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

$('body').click(function(event) {        
    if (imageUpload){
        commitUpload(imageUpload);
    }
});

$('#logo1, #logo2').click(function(event) {
    event.stopPropagation();
    event.preventDefault();

    var num = (this.id).substr((this.id).length-1, 1);

    if (imageUpload && imageUpload != num){
        commitUpload(imageUpload);

    imageUpload = num;
    $('#upload_logo'+num)
        .offset($(this).offset())
        .show();
 });

function commitUpload(obj){
    if (obj < 3){
        $('#upload_logo'+obj).removeAttr('style').css('display', 'none').css('position', 'absolute');
        if ($('#urlEdit').is(':visible')){
        $('#form_logo'+obj+'_url').val($('#urlEdit').val());
            }
    }
    imageUpload = null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...