gpt4 book ai didi

jquery - 在 jQuery 中重写 if-else block

转载 作者:行者123 更新时间:2023-12-01 04:49:35 25 4
gpt4 key购买 nike

我的一位同事给了我一段代码,它可以阻止用户在文本区域中输入有限的输入。代码运行得很好

var words = this.value.match(/\S+/g).length;
if (words > 10) {
var trimmed = $(this).val().split(/\s+/, 10).join(" ");
$(this).val(trimmed + " ");
}
else {
$('#word_left').text(10-words);
}

工作演示:http://jsfiddle.net/3qHwG/

我读到可以通过多种方式有效地编写 jQuery,我想知道是否可以在不使用 if-else 或使用不同方法的情况下重写此代码?

感谢您提供的任何帮助,这最终将增加我的知识。

最佳答案

这扩展了可读性:

$("#cnt").on('keyup', function (e) {
var val = $(this).val(),
// if val is empty, set trimmed to empty array, which translates to 'zero' length
trimmed = val ? val.split(/\s+/, 10) : [];

if (!((e.keyCode || window.event.keyCode) === 8)) // if not a backspace
$(this).val(trimmed.join(" "));

$("#word_left").text(10 - trimmed.length);
});

<强> DEMO

它每次只执行一次 .split 操作,这比你的更好,因为你的不仅总是执行一项操作,而且如果超过字数限制,还会执行另一项操作。

希望对你有帮助!

关于jquery - 在 jQuery 中重写 if-else block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22784533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com