我的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;。请指教。
答案 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
之前的x
将var x;
$("div").on("mouseenter", function (){
x = $(this).index();
});
设置为全局将使其可以在生成该值的函数之外访问。
var x
现在6
会在您的案例中输出alert x
,在您的js档案中的任何地方{{1}}。