点击事件的jQuery代码

时间:2009-10-30 12:08:32

标签: jquery

我将点击处理程序附加到我页面上的按钮。反正有没有找出使用jQuery的代码?

$("#dreport").click(function() {
   var str = "hello";
});               

无论如何都要在firebug调试器中或任何地方获取var str = "hello"? 我试过警告:

$("#dreport").attr("click")

但我只看到[本机代码]身体所在的位置。

5 个答案:

答案 0 :(得分:2)

console.log(str);

或者您可以创建自己的JQuery-logger。

jQuery.fn.log = function (logMe) {
    console.log("%s says: %o", logMe, this);
    return this;
};

然后称之为;

$('#btn').log("logged!");

答案 1 :(得分:1)

您还可以在firebug中设置断点并实时检查变量内容。

答案 2 :(得分:1)

尝试使用此代码:

jQuery.fn.collectHandlers = function(event) {
   var ret = [],
       events = $(this).data('events');
   if (event in events) {
    for (var id in events[event]) {
       if (events[event][id] instanceof Function && events[event][id].toString) {
         ret.push(events[event][id].toString());
       }
     }
   }
  return ret;
}

他们可以在firebug控制台中输入:$('#btn').collectHandlers('click');。这将返回作为事件监听器(通过jQuery的bind系列方法)附加的“click”事件的函数数组。

答案 3 :(得分:0)

$(“#dreport”)。attr(“click”)可能不是你想象的那样 - jQuery使用DOM的事件模型(即使它没有,也会调用属性“onclick “;)

您可以查看将{jQuery信息添加到FireBug中的FireQuery - 包括有关附加事件的信息。

不要忘记,您可以在FireBug控制台中键入jQuery表达式,并查看结果和$(“#btn”)。click()将触发click事件。

答案 4 :(得分:0)

如果你想在日志中显示的是:“你好”那么就像Björn所说的那样。但是,如果要将函数中的逻辑输出到firebug控制台,可以这样做:

$(document).ready(function(){
  var clickFunction = function(){
    var str = "hello";
    console.log(clickFunction);
  };
  $("#dreport").click(clickFunction);
});

这将在firebug控制台中显示为“function()”,如果单击它,您将转到源代码中的功能代码。您也可以将点击功能本身命名为例如“foo”,让它在firebug中显示为“foo()”,如下所示:

var clickFunction = function foo(){
  var str = "hello";
  console.log(clickFunction);
};

当然你也可以在控制台中使用firebug的内置探查器。只需单击配置文件,然后单击要配置的元素,然后再次单击配置文件。这将输出您单击元素时触发的所有函数调用。