javascript - 在 JQUERY 函数中传递值的问题

标签 javascript jquery

在一些帮助下,我用 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() 函数中传递一个变量。我的代码编写方式如何实现?

最佳答案

这里有一个演示会非常方便:

jsfiddle demo

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/

相关文章:

javascript - 如何在表格的某个位置插入新行

javascript - 如何显示所选类Jquery的内容

jquery 动画顶部不起作用

javascript - jQuery如何选择div中的所有元素

javascript - Javascript 提升示例所需的解释

javascript - 具有类似 Outlook 功能的日历

javascript - 如何仅解构数组的第一个索引

javascript - NodeJS - 在 Windows 上解析另一个 JSON 中的 JSON 字符串时出现问题

javascript - 在 Javascript 中,如何避免 createTextElement 方法中的 "escaping"?

c# - jQuery DateTimePicker : Post datetime data to ViewModel in MVC3 action using jQuery $. 后()