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@dkar
function(idImg){alert(idImg)}
$('#'+idImg).clickToggle(function(){
    addMarker(idImg)
}, destroyMarker);