Javascript 在函数Jquery中传递变量
我编写了以下代码:Javascript 在函数Jquery中传递变量,javascript,jquery,Javascript,Jquery,我编写了以下代码: var idImg = 'something'; $('#'+idImg).clickToggle(addMarker, destroyMarker); 其中clickToggle()是: addMarker()是一个需要获取变量idImg的函数 如何在addMarker函数中传递全局变量idImg 谢谢 已编辑 $(document).ready(function(){ $('img').hover(function() { var idImg
var idImg = 'something';
$('#'+idImg).clickToggle(addMarker, destroyMarker);
其中clickToggle()是:
addMarker()是一个需要获取变量idImg的函数
如何在addMarker函数中传递全局变量idImg
谢谢
已编辑
$(document).ready(function(){
$('img').hover(function() {
var idImg = $(this).attr('id');
$('#'+idImg).clickToggle(addMarker, destroyMarker);});
});
$.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;
};
var addMarker = function(){ alert(idImg)} <-- I WANT THIS
var destroyMarker = function(){
DO SOMETHING ELSE
};
$(文档).ready(函数(){
$('img').hover(函数(){
var idImg=$(this.attr('id');
$('#'+idImg)。单击切换(添加标记,销毁标记);};
});
$.fn.clickToggle=函数(func1,func2){
var funcs=[func1,func2];
此.data('toggleclicked',0);
单击(函数(){
var data=$(this.data();
var tc=data.toggleclicked;
$.proxy(funcs[tc],this)();
data.toggleclicked=(tc+1)%2;
});
归还这个;
};
var addMarker=function(){alert(idImg)}您可以使用匿名函数
$('#'+idImg).clickToggle(function(){
addMarker(idImg)
}, destroyMarker);
演示:
但是在这种情况下,因为这是按钮的id,this
在addMarker
中指的是按钮,所以您也可以使用this.id
指的是某物
演示:如果您一直使用它作为ID,您可以使用this.ID
在您运行的任何函数中检索它实际上按钮就是图像。这就是我想要的。我两种都试了,但似乎都不管用。在第一种情况下,我在addMarker()中添加了匿名函数和idImg作为输入,但不起作用。@dkar您能在附件中重新创建您的问题吗fiddle@dkarfunction(idImg){alert(idImg)}
$('#'+idImg).clickToggle(function(){
addMarker(idImg)
}, destroyMarker);