1

重複の可能性:
FireBug (または同様のツール) を使用して Javascript/jQuery イベント バインディングをデバッグする
方法 DOM ノードでイベント リスナーを見つける方法

JavaScript を介して DOM 要素にバインドされたイベントを検出するにはどうすればよいですか? alert以下の例では、クリック イベントが「クリック可能な」スパンにバインドされていることを確認し、可能であれば -lineからデバッグできるようにしたいと考えています。

Firebug のような Web 開発者ユーティリティでこれを行うことはできますか?

<html>
    <head>
         <title>Events bound with JavaScript</title>
         <script type="text/javascript"
             src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
         <script type="text/javascript">
             $(document).ready(function() {
                 $("#clickable").click(function() {
                     alert("Clicked.");
                 });
             });
         </script>
    </head>
    <body>
         <span id="clickable">Click me</span>
    </body>
</html>
4

1 に答える 1

1
// this function will return number of keys in object
function objectLenght (obj) {
    var len = 0;
    for (var key in obj) {
        len++;
    }
    return len;
}

var objWithClickEvents = [];

// iterate through all elements
$('*').each(function() {
    var clickEvents = $.data($(this)[0], 'events').click;
    if (objectLength(clickEvents) > 0) {
        objWithClickEvents[objWithClickEvents.length] = $(this);
    }
});

click必要に応じて他のイベントに置き換えます。

于 2009-07-23T15:27:42.247 に答える