javascript - 在方法之间传递 jQuery 元素数据?

标签 javascript jquery methods

我正在尝试创建我的第一个 jQuery 插件,阅读 jQuery plugin authoring它真正强调的事情之一是使用方法而不是命名空间。我还尝试使用该指南中的数据在方法之间反弹变量,但它不起作用。我需要创建一些数据,将其传递给另一个方法来更新它并将其发送到其他地方。

(function($) {

    var methods = {
        init : function(settings) {

            return this.each(function(){

                var x = 3; 
                var object = $(this);

                // Bind variables to object
                $.data(object, 'x', x);

                $(object).bbslider('infoParse');

                var y = $.data(object,'y');
                alert(y);

            }); // End object loop

        }, // End init
        infoParse : function() { 
            var object = $(this);
            var x = $.data(object,'x');

            alert(x);

            var y = 10;
            $.data(object,'y',y);
        }, // End infoParse
    }; // End method


    $.fn.bbslider = function(method) {

        if ( methods[method] ) {
            return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
        } else if ( typeof method === 'object' || ! method ) {
            return methods.init.apply( this, arguments );
        } else {
            $.error( 'Method ' +  method + ' does not exist on jQuery.bbslider' );
        }       
    }; // End slider

})(jQuery); 

这是一个 jsFiddle 来展示我的意思:http://jsfiddle.net/wRxsX/3/

如何在方法之间传递变量?

最佳答案

看看这个 http://jsfiddle.net/wRxsX/6/还好吗?

元素.data(k,v)

$.data 应该在元素上使用

http://api.jquery.com/data/

存储与匹配元素关联的任意数据,或返回指定数据存储中匹配元素集中第一个元素的值。

关于javascript - 在方法之间传递 jQuery 元素数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14533670/

相关文章:

scala - 该示例应用了什么方法转换?

javascript - 如何从 React.js 中的另一个文件实际启动一个函数

javascript - 使用 jQuery 创建一个元素并将其 append 到多个元素

java - 需要帮助解释特定方法的目的和操作

javascript - JQuery UI Datepicker css 看起来非常有问题

javascript - jQuery 幻灯片无法正常工作,显示 :none;

java - 带参数的多个方法java

java - 将 JSON 对象动态转换为表行

javascript - 'react-router-dom' 的链接不起作用?

javascript - jQueryUI 模式关闭时刷新页面