我将点击处理程序附加到我页面上的按钮。反正有没有找出使用jQuery的代码?
$("#dreport").click(function() {
var str = "hello";
});
无论如何都要在firebug调试器中或任何地方获取var str = "hello"
?
我试过警告:
$("#dreport").attr("click")
但我只看到[本机代码]身体所在的位置。
答案 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的内置探查器。只需单击配置文件,然后单击要配置的元素,然后再次单击配置文件。这将输出您单击元素时触发的所有函数调用。