jQuery - 将“each”与“on”事件结合

罗克韦尔普

我有以下 jQuery 代码,它可以正常工作并且可以完成我需要的所有事情 - 似乎有点笨拙的方式来实现我需要的东西 - 即。两个部分的实际“功能”是相同的 - 第一部分给我进入页面时的当前值,第二部分动态更改输入到 textarea 时的值。我的问题是,有没有办法“巧妙地”将两半组合起来,让函数只出现一次 - 以后编辑会更容易:

$("textarea.charcount").each(function() {
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;
    if( currentLength >= maxlength ){
        $(this).next('div').addClass('limit');
        $(this).next('div').text("Character limit reached!");
    } else {
        $(this).next('div').removeClass("limit");
        $(this).next('div').text(maxlength - currentLength + " charachters left");
    }
});

$("textarea.charcount").on("input", function() {
    var maxlength = $(this).attr("maxlength");
    var currentLength = $(this).val().length;
    if( currentLength >= maxlength ){
        $(this).next('div').addClass('limit');
        $(this).next('div').text("Character limit reached!");
    } else {
        $(this).next('div').removeClass("limit");
        $(this).next('div').text(maxlength - currentLength + " charachters left");
    }
});
Anfath Hifans

像这样添加,

$(function(){   
    $("textarea.charcount").each(function(){
        charcount(this);
    });
    $("textarea.charcount").on("input", function() {
        charcount(this);
    });
});
function charcount(element){
    var maxlength = $(element).attr("maxlength");
    var currentLength = $(element).val().length;
    if( currentLength >= maxlength ){
        $(element).next('div').addClass('limit').text("Character limit reached!");
    } else {
        $(element).next('div').removeClass("limit").text(maxlength - currentLength + " charachters left");
    }
}

演示:https : //jsfiddle.net/rhqtc67a/

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

结合内联onclick事件与jquery onclick事件

来自分类Dev

将jQuery与Jade结合使用

来自分类Dev

将jQuery与Jade结合使用

来自分类Dev

jQuery结合准备和点击事件

来自分类Dev

jQuery结合准备和点击事件

来自分类Dev

将ZeroClipboard与Jquery.DataTables结合使用

来自分类Dev

如何将多个IF函数与jQuery结合?

来自分类Dev

jQuery-将.append()与.fadeIn()结合使用

来自分类Dev

将jQuery.pageless与Turbolink结合使用

来自分类Dev

将extjs与jquery结合使用的问题

来自分类Dev

jQuery-将.append()与.fadeIn()结合使用

来自分类Dev

jQuery-将indexOf()与match()结合使用

来自分类Dev

将jQuery mobile与ajax结合使用

来自分类Dev

将 JQUERY DataTable 与 Bootstrap 结合使用

来自分类Dev

jQuery'.each'和附加'.click'事件

来自分类Dev

将事件与 Chronicle Queue 结合

来自分类Dev

ES6-将babel / traceur与jQuery插件结合使用

来自分类Dev

将jQuery插件树表与Knockoutjs结合使用

来自分类Dev

将DataTables与Bootstrap主题结合使用,jQuery $ .get函数

来自分类Dev

将jQuery结合在ready和change上

来自分类Dev

将私有jquery与RequireJS结合使用-优化后的问题

来自分类Dev

将jQuery dynatree与Knockout和Breeze结合使用

来自分类Dev

如何将jQuery slideDown与appendTo结合使用

来自分类Dev

是否可以将Jcrop与jQuery contextMenu结合使用?

来自分类Dev

将jQuery Plugin Pagination.js与React结合使用

来自分类Dev

如何将 jQuery 文件与 Google Drive API 结合?

来自分类Dev

将 Webpack 与 d3、jQuery 和 Bootstrap 结合使用

来自分类Dev

jQuery:单击事件后将函数排队

来自分类Dev

将元素属性传递给JQuery事件