从jquery发送一个变量给javascript函数
Send a variable to javascript function from jquery
我有一个成功调用javascript函数的jquery mouseover事件
$(document).ready(function() {
$('.nw').mouseover(run_nw);
});
function run_nw() {
...
}
然而,当我试图传递参数时,js失败了。
$(document).ready(function() {
$('.nw').mouseover(run_nw(1));
});
var a;
function run_nw(a) {
...
}
试着看了看SO和jQ文档,但我仍然被难住了。我想这是一个简单的格式问题。
感谢(如果有帮助,这里是完整的代码)
<script>
var $ = jQuery.noConflict();
var incr = 650;
function run_nw() {
//move x and y
var topAdjust = -incr;
var leftAdjust = -incr;
var top = parseInt($(this).css('top'))+topAdjust;
var left = parseInt($(this).parent().css('left'))+leftAdjust;
//rotate
var randomnumber = Math.floor(Math.random()*11);
var rotate = -randomnumber*10;
$(this).animate({
top:top,
left:left,
'rotate':rotate
}, 700, 'swing');
}
$(document).ready(function() {
$('.nw').mouseover(run_nw);
});
</script>
将函数调用封装在一个匿名函数中:
$('.nw').mouseover(function() {
run_nw(1);
});
当前的方法是执行函数并将结果作为回调给mouseover
。
你当前的代码的问题是,在事件处理程序函数,this
不指你所期望的(它指的是窗口,因为你正在调用函数从一个匿名回调到mouseover
- this
内的匿名回调是你想要的)。
因此,你需要将this
传递给函数并将任何对this
的引用更改为你选择的参数名称:
$('.nw').mouseover(function() {
run_nw(1, this);
});
function run_nw(a, elem) {
//Now `elem` is what you expected `this` to be
}
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 导航到特定事件的另一个变量页面
- 在另一个函数中使用变量this
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 使用mongodb更新中的一个变量
- 为什么window.open不打开一个以变量形式给出的链接
- 将节点数据分配给另一个变量jstree
- 如何将变量传递到另一个js文件
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 将会话变量从一个页面传递到另一个页面
- Javascript:在激发函数后返回一个变量以供使用
- 替换另一个变量对象中的变量值
- 什么'它的意思是当一个变量位于括号外时
- 这在JavaScript中是一个好的变量名吗
- 可以't将sessionStorage设置为Javascript中的一个变量
- 如何在javascript中给变量一个随机值
- 在不同的.js文件之间传递变量;一个是在iframe内
- Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有
- 是否可以给变量一个默认值