在一些帮助下,我用 JQUERY 编写了这个:
$('id').clickToggle(addMarker, destroyMarker);
其中 clickToggle 是调用 addMarker 和 destroyMarker 函数的函数。
这是 clickToggle() 函数:
$.fn.clickToggle = function(func1, func2) {
var funcs = [func1, func2];
this.data('toggleclicked', 0);
this.click(function() {
var data = $(this).data();
var tc = data.toggleclicked;
$.proxy(funcs[tc], this)();
data.toggleclicked = (tc + 1) % 2;
});
return this;
};
而 addMarker() 函数是
var addMarker = function(){ ....}
我在 JQUERY 中没有那么多 xp。我想要做的是在 addMarker() 函数中传递一个变量。我的代码编写方式如何实现?
最佳答案
这里有一个演示会非常方便:
HTML
<div id="myid">click me</div>
Javascript/jquery
$.fn.clickToggle = function(func1, func2) {
var funcs = [func1, func2];
this.data('toggleclicked', 0);
this.click(function() {
var data = $(this).data();
var tc = data.toggleclicked;
$.proxy(funcs[tc], this)();
data.toggleclicked = (tc + 1) % 2;
});
return this;
};
//lets pass the strings "world" and "foo" to addMarker and destroyMarker
$('#myid').clickToggle(function(){addMarker("world")}, function(){destroyMarker("foo")});
//pass a variable as a parameter to the functions
var addMarker = function(x){ alert("addmarker "+x)}
var destroyMarker= function(x){alert("removemarker "+x)}
关于javascript - 在 JQUERY 函数中传递值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28741891/