在JQUERY中单击事件后返回结果

时间:2012-01-23 18:02:24

标签: javascript jquery

我有一个返回值的函数,我在点击事件后执行了该函数,例如

$("some_div").click( my_function());

答案是如何获取函数的返回值。

我无法使用

var something = $("some_div").click( my_function());

感谢每一位提出问题的人。我得到了答案。

3 个答案:

答案 0 :(得分:4)

您必须将功能传递给click,而不是返回值。在事件处理程序中,您可以调用函数并根据需要处理返回值:

$("some_div").click(function() {
    var result = my_function();
    // do whatever you want with `result`
});

事件处理程序不会立即调用,但会在稍后(单击该元素时)调用。因此,.click返回值是没有意义的。

答案 1 :(得分:1)

您可以声明一个全局变量并将结果写入其中。以下是将当前事件写入global:

的示例
var global = ''

$("#some_div").click(function(e){
  global = e;
});

答案 2 :(得分:0)

你无法获得一个返回值,你只需要点击一个callback函数,点击“some_div”时会触发该函数。

如果您想使用callback函数中的某些值,请在函数内使用它或将其保存在hidden input

$("some_div").click(function() {
    var someValue = foo();
    $('#hiddenInputName').val(someValue);
});

//later on...

var extractedValue = $('#hiddenInputName').val();