如何将简单的 jQuery 代码转换为以下代码的 wordpress jQuery

克里克斯那斯
    <b id="smsCount"></b> SMS (<b id="smsLength"></b>) Characters left
    <br /><textarea id="smsText" style="width:400px;height:200px">
    </textarea>


    //Plugin
    (function($){
      jQuery.fn.smsArea = function(options){

var
e = this,
cutStrLength = 0,

s = jQuery.extend({

    cut: true,
    maxSmsNum: 3,
    interval: 400,

    counters: {
        message: jQuery('#smsCount'),
        character: jQuery('#smsLength')
    },

    lengths: {
        ascii: [160, 306, 459],
        unicode: [70, 134, 201]
    }
    }, options);


e.keyup(function(){

    clearTimeout(this.timeout);
    this.timeout = setTimeout(function(){

        var
        smsType,
        smsLength = 0,
        smsCount = -1,
        charsLeft = 0,
        text = e.val(),
        isUnicode = false;

        for(var charPos = 0; charPos < text.length; charPos++){
            switch(text[charPos]){
                case "\n": 
                case "[":
                case "]":
                case "\\":
                case "^":
                case "{":
                case "}":
                case "|":
                case "€":
                    smsLength += 2;
                break;

                default:
                    smsLength += 1;
            }

            //!isUnicode && text.charCodeAt(charPos) > 127 && text[charPos] != "€" && (isUnicode = true)
            if(text.charCodeAt(charPos) > 127 && text[charPos] != "€")
            isUnicode = true;
        }

        if(isUnicode)   smsType = s.lengths.unicode;
        else                smsType = s.lengths.ascii;

        for(var sCount = 0; sCount < s.maxSmsNum; sCount++){

            cutStrLength = smsType[sCount];
            if(smsLength <= smsType[sCount]){

                smsCount = sCount + 1;
                charsLeft = smsType[sCount] - smsLength;
                break
            }
        }

        if(s.cut) e.val(text.substring(0, cutStrLength));
        smsCount == -1 && (smsCount = s.maxSmsNum, charsLeft = 0);

        s.counters.message.html(smsCount);
        s.counters.character.html(charsLeft);

    }, s.interval)
}).keyup()
    }}(jQuery));


    //Start
    jQuery(function(){
     jQuery('#smsText').smsArea({maxSmsNum:3});
    });

我在 Wordpress 工作,M 将制作一些 smscount 系统来计算 ASCII 和 Unicode 字符。我在某处看到 Wordpress 使用 jQuery 而不是 $。但它不起作用。不知道为什么我弄错了?

任何帮助表示赞赏。

改变...

jQuery(function(){
 jQuery('#smsText').smsArea({maxSmsNum:3});
});

... 进入...

(function($){
  $(document).on('ready', function(){
    $('#smsText').smsArea({maxSmsNum:e})
  })
})(jQuery);

如果id="smsText"在 DOM 中存在元素并且脚本定义smsArea()函数在您运行上面的函数时已准备好/加载,您可以删除document.ready包装器(删除行24- 不删除3!)。

然而,上面语法中的关键不是document.ready包装器,而是它周围的那个。“jQuery的包装”您需要创建一个闭包并将其jQuery作为引用传递这是标准的“WordPress jQuery 包装器”,因为在极少数情况下,WP 需要在同一页面上运行不同版本的 jQuery(取决于您加载的插件/主题)。

如果你看一下你上面的函数,它的包装方式是一样的。

这里更详细的解释

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将以下 jQuery 代码转换为 React?

来自分类Dev

如何将jQuery代码转换为可用的AngularJS代码

来自分类Dev

如何在jQuery中为以下代码编写验证?

来自分类Dev

如何将jQuery代码转换为函数?

来自分类Dev

将以下jquery代码转换为javascript代码

来自分类Dev

无法将Javascript代码转换为JQuery

来自分类Dev

将Jquery slidetoggle代码转换为Javascript

来自分类Dev

无法将Javascript代码转换为JQuery

来自分类Dev

将jQuery转换为等效的JavaScript代码

来自分类Dev

将 jQuery 代码转换为原生 Javascript

来自分类Dev

将 JQuery 代码转换为纯 Javascript

来自分类Dev

将 Javascript 代码转换为 jquery 的问题

来自分类Dev

如何将现有的HTML / JQuery转换为ASP.net/JQuery代码

来自分类Dev

将jQuery代码添加到wordpress

来自分类Dev

如何将此JavaScript代码转换为jquery?

来自分类Dev

如何将此jQuery代码转换为CSS?

来自分类Dev

如何将此JavaScript代码转换为jquery?

来自分类Dev

如何将jQuery代码转换为可重用的插件/函数

来自分类Dev

如何将 jQuery 代码(更改类和文本的单击事件)转换为 JavaScript

来自分类Dev

如何将有效的jquery 1.7.2代码转换为jquery 1.3.2

来自分类Dev

JSON-将代码从JQuery转换为PHP

来自分类Dev

将jquery代码转换为javascript中的.bind事件的javascript

来自分类Dev

将变量php问题转换为代码jquery

来自分类Dev

将语言环境代码转换为jQuery标准格式

来自分类Dev

将此Mootools代码转换为jQuery代码

来自分类Dev

如何使我的jQuery代码简单?

来自分类Dev

将 Bootstrap 模板转换为 Wordpress 时未加载 jQuery

来自分类Dev

如何将jQuery添加到WordPress插件

来自分类Dev

如何将jQuery正确加载到WordPress中

Related 相关文章

热门标签

归档