确定网页上用户生成区域允许的最大字符数的好方法

发布于 2024-12-09 08:58:25 字数 315 浏览 0 评论 0原文

我正在开发一个优惠券应用程序,它有一个区域,企业主可以在其中输入简短的“标签行”来说明优惠券的用途。例如:

  • 一份主菜 10% 折扣!
  • 美元立减
  • 晚上 7 点前 1 份清酒 2
  • 15 份免费烙饼(如果您的名字是 Gary)

再次强调,这是用户生成的。它将显示在客户可以看到的屏幕上。我希望它在一定数量的像素内显示在一行上。它将采用 Arial 语言。

考虑到很多浏览器,确定允许包含的最大字符数的最佳方法是什么,这样就不会占用额外的行或溢出......?

I'm working on a coupon app and it has an area where business owners can enter a short "tag line" for what the coupon is for. For example:

  • 10% off one entree!
  • $5 off
  • 2 for 1 sake before 7PM
  • 15 free flapjacks if your name is Gary

Again, this is user generated. It will show up on a screen their customers can see. I'd like it to display on one line within a certain amount of pixels. It will be in Arial.

What is the best way to determine the max amount of characters to allow them to include so that it doesn't take up extra lines or overflow, considering lots of browsers...?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

a√萤火虫的光℡ 2024-12-16 08:58:25

如果您知道一行的fontfont-size和总width,那么您可以进行试错计算(即也就是说,输入字符直到行尾)。

一旦您知道了这一点,您就可以检查 keyup 上的字符总数,并在达到该数量时发出警报。

例如,仅作为示例,假设您选择 Arial 14px,并且您已经对其进行了测试,发现 10 个字符大约是一行可以容纳的全部字符。然后你可以添加类似这样的

$('textarea').keyup(function(){
    if($(this).val().length == 10){
        alert('You\'ve reached the limit');
    }
});

工作示例: http://jsfiddle.net/uGDKn/< /a>

If you know the font, font-size, and total width of the one line then you could just do a trial and error calculation (that is, enter characters until the end of the line).

Once you know that, you can check for the total # of characters on keyup and alert if that amount is reached.

For instance, as an example only, let's say you choose Arial 14px and you've tested it to see that 10 characters is about all that one line can hold. Then you can add something like this

$('textarea').keyup(function(){
    if($(this).val().length == 10){
        alert('You\'ve reached the limit');
    }
});

Working Example: http://jsfiddle.net/uGDKn/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文