javascript - jQuery:使用 var 快捷方式分配数据以及如何链接函数在加载和单击时运行

标签 javascript jquery

我有一个由两部分组成的问题。

一:我可以使用我设置的last变量来更新if (!last) {之后的行上的值吗?即,类似于 last = size;

    var j$ = jQuery.noConflict();

    function updateCount() {
        var self = j$(this),
            last = self.data('last'),
            size = self.val().length,
            span = j$('.currentCount');

        if (!last) {
            self.data('last', size);
        } else if (last != size) {
            span.text(size);
            self.data('last', size);
        }
    }

    j$('textarea[id$=textBody]').on('propertychange change click keyup input paste', updateCount);

其次,我可以链接我的 .on('propertychange ... 行,以便在加载脚本后立即运行 updateCount 吗?

最佳答案

问题1:

不,您不能简单地使用变量赋值,因为 jQuery 中没有数据绑定(bind)。因此,更新 last 变量永远不会更新 jQuery 对象的 data-last

问题2:

这是我习惯做的事情:

j$('textarea[id$=textBody]').on('propertychange change ...', updateCount).change();

其中 change() 自动触发该函数。

关于javascript - jQuery:使用 var 快捷方式分配数据以及如何链接函数在加载和单击时运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032927/

相关文章:

javascript - 为什么一个功能可以工作,而另一个却不能?

javascript - 弹出窗口打开时将内容加载到弹出框

javascript - 由于图像加载异步,图像的宽度和高度为零

javascript - 关于 onclick 的 Dom html javascript

javascript - Jasmine/jQuery 按键捕获

javascript - JQuery,不同点击时更改按钮

href 属性中带有 # 的链接的 jQuery 选择器

javascript - 在类创建/追加时将计数器的值增加 1

javascript - 如何使用javascript循环包含多个td的字符串?

javascript - 同步 javascript 调用