簡體   English   中英

jQuery的click()只能觸發DOM 0的事件處理程序以及通過jQuery注冊的事件處理程序…?

[英]jQuery's click() can trigger event handlers only for DOM 0 and event handlers registered through jQuery…?

[更新:]這個問題與以下內容有關:jQuery的click()做什么?

jQuery的click()未點擊?

如下代碼:

  <div id="oneDiv">
    some content
  </div>

  <p>
    <a href="http://www.google.com" id="clickme">Click Me</a>
  </p>

        [ ... ]

  onload = function() { 

    $('#clickme').click(function() {
      $('#oneDiv').css({border: '6px dotted #07d'})
    });

    document.getElementById('clickme').onclick = function() {
      document.getElementById('oneDiv').style.color = 'green';
    }

    document.getElementById('clickme').addEventListener("click", function() {
      document.getElementById('oneDiv').style.background = '#ffc';
    }, false);  // bubbling phase


    setTimeout(function() {
      $('#clickme').click();
    }, 3000);

  }

如果單擊鏈接,瀏覽器將

1)將邊框更改為6px點綴藍色
2)將div內的文本更改為綠色
3)將div的背景更改為灰白色
4)前往www.google.com

但是如果您等待並讓setTimeout()函數啟動,那么它將只會執行

$('#clickme').click(function() { })  
onclick = function() { ... }

它不會執行addEventListener之一,也不會遵循該鏈接。 (順便說一句,IE 8不允許addEventListener

是這樣嗎 jQuery的click()與trigger('click')相同,將僅觸發通過自身和DOM級別0事件處理程序注冊的事件處理程序?

jQuery應該為您提供有關選擇器和事件的幫助,但您可以將其與直接的javascript混合使用。 我認為最好只使用jQuery格式,這樣:

_更換

document.getElementById('clickme').onclick

通過

$('#clickme').click(function {...});

_替換

addEventListener("click"

_ by

live("click") or bind("click")

(有關差異,請參見jQuery文檔)。

_最后:

document.getElementById('oneDiv').style.background = '#ffc';

_ by

$('#oneDiv').css('background-color','#ffc');

還:

通過$(window).load(function(){....})更改onload;

如果仍然存在問題,請告訴我們,但是如果您確實想使用jQuery並做一些有力的工作,我建議您閱讀一個好的教程;)

編輯:這絕對應該工作:

$(window).load(function() {
            $('#clickme').click(function() {
            $('#oneDiv').css({border: '6px dotted #07d'});
            $('#oneDiv').css('color','green');
            $('#oneDiv').css('background-color','#ffc');})

            setTimeout(function() {
                $('#clickme').click();
            }, 3000);

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM