【发布时间】:2015-02-13 02:12:23
【问题描述】:
我遇到了一些代码问题。基本上,我使用 jquery 在单击按钮时运行回调函数。我的问题是整个收听设置在另一个函数中。当 jquery 事件触发时,我想返回父函数,但我不知道如何。
谢谢,
-亚历克斯
function placeObject(object) {
$("#button").click( function() {
$(".fields").remove()
$("#curser" + object).remove()
$("#curser" + object).css("pointer-events","none");
$("#curser" + object).css("display","none")
$("#submitObject").css("display","none")
$("#cancelCreation").css("display","none")
$(".newObjectButton").css("display", "inline")
zooming = true
});
}
更新:
这个函数被这个函数调用:
function createObject(object) {
$("#button").css("display","inline")
if (object == "one thing") {
placeObject(object)
}
else if (object == "another thing") {
differentFuntion(object)
}
}
这个函数被这个调用:
$(".newObjectButton").click( function() {
createObject($(this).attr("id"))
});
为了澄清我的确切目标:
我不想让函数返回这样的函数:
funtion a() {
return b
}
funtion b() {
alert("b")
}
结果将是一个显示“b”的警告框
我希望函数 a 的返回值是一个返回封装父函数 b 的信号,如下所示:
function a() {
function b() {
return return //whatever value forces the parent function to return
}
}
【问题讨论】:
-
所以您想从
click事件处理程序中返回parentFunction?你可以使用return parentFunction来做到这一点,但它只会返回给内部 jQuery 调用者。 -
我想这是我的问题的一部分。在上下文中,我在图像上放置了一个精灵。为了停止放置,需要发生以下两件事之一:1 提交 2 取消。单击取消按钮时会触发 jQuery 事件,此外,我希望处理提交或取消返回的父函数。
-
好吧,我想我们可能需要更多的上下文代码,比如
parentFunction的调用者以及返回函数的预期用途。 -
听起来像是
X-Y问题。你应该从一开始就用文字解释你想要实现的目标,而不是你想从函数返回什么 -
你们是对的,问题不是很清楚。对不起。不过,今晚我一直盯着这个问题太久了。我明天早些时候会进行彻底的更新。我希望你们都坚持下去并继续提供帮助。
标签: javascript jquery callback return watch