【问题标题】:Jquery get width of p tag populated from text input via keyup eventJquery通过keyup事件从文本输入中获取p标签的宽度
【发布时间】:2014-03-05 06:52:36
【问题描述】:

我已将此字段提供给用户,用于在 PDF 中填充固定宽度的单元格。我想要一种在用户达到 PDF 单元格的最大宽度时通知用户的方法。

因此,我创建了一个带有 p 标签的 div(格式为将在 PDF 中呈现的确切字体、大小和粗细),该标签是从 KEYUP 事件的文本输入中填充的。我知道我的 PDF 字段的宽度是 226。

p 标签 (#arial12B) 使用下面的代码填充得很好,但我的 if 语句似乎不起作用。我要做的就是将文本输入 (#custName) 的背景颜色变为红色,通知用户他们的输入内容太长。

代码如下

    $(document).ready(function(){
        $('#custName').keyup(function(){
            var desc = $(this).val();
            $('#arial12B').html(desc);

            if($('#arial12B').width() > 226){
                $(this).css('background-color', '#cccccc');
            }
        });
    });

任何帮助将不胜感激!

【问题讨论】:

    标签: jquery css pdf


    【解决方案1】:

    试试,

       $('#custName').keyup(function(){
    
          var desc = $(this).val();
          var cache = $(this);
    
          $('#arial12B').html(desc).promise().done(function(){
            if($('#arial12B').width() > 226){
              cache.css('background-color', '#cccccc');
            } 
          });
    
       });
    

    【讨论】:

    • 嘿 Raj,我无法让它工作,这段代码是否替换了我的 keyup 函数中的所有内容?
    • @BillChambers 现在试试..!
    • 嘿 Raj,p 标签填充仍然工作得很好,但仍然没有文本输入背景颜色变化。
    • 你能做一个演示吗?这样我们就可以轻松解决这个问题。?
    • 嘿 Raj,如果这就是你的意思,我从来没有做过小提琴?
    猜你喜欢
    • 2014-11-15
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多