2017-03-03 35 views
-7

我在JavaScript中有一些代碼,我想將其翻譯成jQuery。我一直在瀏覽網絡幾個小時,並試圖自己弄清楚,但沒有成功。所以我來到了這裏。如何將此JavaScript代碼轉換爲jQuery?

window.addEventListener('mouseup', function(event){ 
    var dp1 = document.getElementById('dp1'); 
    if(event.target != dp1 && event.target.parentNode != dp1){ 
     dp1.style.height = "0px"; 
     dp1.style.width = "0px"; 
    } 
}); 
+3

請問爲什麼要使用jQuery? –

+0

我想它更短? –

+1

@JustinSeidel:它縮短的時間越短越好。不是當它不是。如果你指望圖書館本身,它幾乎總是多得多,更長。 – 2017-03-03 22:42:49

回答

0

首先,jQueryJavaScript

大多數人試圖不加載它在他們的項目中,以降低它帶來的開銷,通常,請求是與你所要求的相反。減少這種開銷的一種方法是以簡化格式加載jQuery

但這並不是說jQuery都是壞的。

而且較短的語法,特別件事jQuery,其最佳和最差的功能,這取決於你來自哪裏看,是它帶來了很大的靈活性,以JavaScript而這防止程序員從瞭解js限制。這是幫助,但這是一個限制。例如,在編碼清潔JavaScript之前,我從不需要學習閉包,因爲jQuery會在需要時將它們默默添加到我的構造中。

一個顯然是積極的事情有關jQuery是它提供怪癖和解決的幾個瀏覽器的不一致性一個不必,不應該需要了解,很像autoprefixer最需要前綴CSS的痛苦了。

這就是說,這是我認爲是您的代碼簡化版本,在jQuery。你應該只使用它,如果你已經在你的項目中加載jQuery,恕我直言。

$(window).on('mouseup', function(e){ 
    if (! $(e.target).closest('#dp1').is('#dp1')) { 
    $('#dp1').css({ 
     height: 0, 
     width: 0 
    }) 
    } 
}) 
0

轉換代碼jQuery有沒有意義,這個代碼是長,慢,有沉重的依賴關係:

$(window).on("mouseup", function(event) { 
    var dp1 = $('#dp1'); 
    if(this != dp1.get(0) && $(this).parent().get(0) != dp1.get(0)){ 
     dp1.css("height", "0px"); 
     dp1.css("width", "0px"); 
    } 
}); 
+0

真的,我不在乎。非常感謝你的時間,並給我我需要的東西。謝謝。真的很感謝你。 –

0

嘗試用下面的代碼。

$(document).mouseup(function(event){ 
    var dp1 = $('#dp1'); 
    if(event.target != dp1 && event.target.parentNode != dp1){ 
    dp1.css({height:'0px', width:'0px'}); 
    } 
}); 
0
$(document).ready(function() { 
    $(window).on("mouseup", function(event) { 
    var dp1 = $("#dp1"); 
    var target = $(event.target); 

    if(!$(target).is(dp1) && !target.parents('#dp1').length) { 
     dp1.css("height", "0").css("width", "0"); 
    } 
    }); 
}); 
相關問題