如何获取由JQuery中的鼠标事件触发的函数返回的值

时间:2015-04-10 10:10:17

标签: javascript jquery function

我的html代码如下:

<section>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</section>

我有以下jQuery代码:

$("div").on("mouseenter", function (){
          myidx = $(this).index();
          return myidx;
});

var x = y // The value myidx;

我想将mouseenter上执行的函数的输出(myidx)分配给var x。这样:var x = myidx的值。

我已经尝试过我的实验并进行了大量的研究,但是我还没有找到一种方法来访问jquery方法中的函数返回的结果&#34; mouseenter&#34;。请指教。

4 个答案:

答案 0 :(得分:1)

由于未调用事件处理函数,因此无法获取 return 值。

您可以将值分配给全局(使用myidx进行),但是在使用之前您必须等到事件发生。

在分配事件处理程序和事件发生之间,您无法使用事件中的值。

答案 1 :(得分:0)

使用以下内容更新x;

var x;

$("div").on("mouseenter", function (){
    x = $(this).index();
});

答案 2 :(得分:0)

尝试

var x;
$("div").on("mouseenter", function (){
      myidx = $(this).index();
      x = myidx;
});

答案 3 :(得分:0)

首先定义变量x,如果触发了mouseenter事件,它将处于待机状态,以便为$(this).index();分配值var x

其次,通过删除var之前的xvar x; $("div").on("mouseenter", function (){ x = $(this).index(); }); 设置为全局将使其可以在生成该值的函数之外访问。

var x

现在6会在您的案例中输出alert x,在您的js档案中的任何地方{{1}}。