我知道這已經在此處提出過了,因爲我記得當我第一次試圖在我的個人網站上重新創建這個效果時,閱讀了有關此主題的各種帖子。話雖如此,這次我無法爲我的生活找到這些帖子。我應該保存它們::/jQuery Click事件在Mozilla中不起作用(在Chrome中工作)
所以,我爲重複道歉,但我試圖做一個「點擊任何地方,但在這裏關閉元素覆蓋」的東西。在Chrome中運行得非常好,但在Mozilla中並不那麼多。最重要的是,我使用過的其他元素可以完美地工作(在Mozilla和Chrome中),而不是這個。
jQuery的
function closeProductOverlay() {
if (!$(event.target).closest('#clickControl').length) {
$('#productOverlay').toggle('fast', 'linear');
}
}
HTML
<div id="productOverlay" style="display:none;" onclick="closeProductOverlay()">
<div id="mobiPadding">
<div id="productContainer">
<div id="clickControl">
<!-- This is where I populate items dynamically -->
</div>
</div>
</div>
</div>
正如我已經說過了,我申請這個概念的許多功能在整個同一個項目/網站,他們都工作得很好。我正在努力診斷這件事。
我已經嘗試了一些凌亂的「修補程序」,但它們中的任何一個都沒有按照預期方式運行。我已經得到的最接近的是,如果去掉if語句,像這樣:
jQuery的
function closeProductOverlay() {
$('#productOverlay').toggle('fast', 'linear');
}
不過,很顯然,如果你點擊任何地方,覆蓋消失。 (即使你點擊按鈕,或試圖複製文字)。這非常煩人,並且不能按我的需要工作。
那麼這肯定做到了!多麼容易,謝謝! – perkface