【问题标题】:How can I properly create a contenteditable "Font Tester" type editor with CSS classes applied by JQuery?如何使用 JQuery 应用的 CSS 类正确创建可编辑的“字体测试器”类型编辑器?
【发布时间】:2014-06-09 20:05:32
【问题描述】:

我创建了一个网站来分享我设计的字体,并且我正在尝试合并一个“类型测试器”,以便人们在下载字体之前可以与它们进行交互。我已经在互联网上搜索了如何做到这一点,并且对于我的目的来说,预制的插件/解决方案大多看起来过于繁重(一个完整的类型编辑器)。可以在 Type Supply 的字体页面或 MyFonts 的任何字体页面上找到与我想要完成的示例类似的示例。

我想让用户能够:

  1. 选择字体。
  2. 选择字体大小。
  3. 选择字体粗细/样式。

现在,I've come close to a working solution on my website,但它有一个奇怪的问题:样式在停止工作之前只能编辑几次。这特别奇怪,因为我能够拼凑出 a simpler version of the type editor on a JSFiddle,这似乎没有任何问题,可以无限更改样式。我正在处理的基本 HTML 是:

  <span contenteditable="true"> 
       <span class="fontselect fontsize fontweight textfield">Click here to try it!</span> 
  </span> 

三个选择菜单,类似这样:

  <select class="" data-native-menu="false" id="font-family-select" name="typeface"> 
       <option value="georgia" >Georgia</option> 
       <option value="couriernew">Courier New</option> 
       <option value="hevetica" selected="selected">Helvetica</option> 
  </select> 

...以及根据所选内容添加和删除 CSS 类的 JQuery。

你们中的任何人都可以找出我在实际网站上的版本做错了什么吗?对不起,如果问题很明显——很难知道我是否只是需要另一组眼球来了解我的语法,或者我的问题是否更大。

非常感谢您提供的任何帮助/建议/cmets!

【问题讨论】:

    标签: javascript jquery css fonts contenteditable


    【解决方案1】:

    我已经通过这种方式解决了。丑陋,但有效。

    1. 创建changeStyle函数。
    2. id="try"添加到span 点击这里试试吧!
    3. 添加到所有选择组合框onchange="changeStyle()"事件

      <script>
         function changeStyle(){
                  family= $("#font-family-select").val();
                  size=$("#font-size-select").val();
                  weight=$("#font-weight-select").val();
      
                  $("#try").removeClass().addClass("fontselect fontsize fontweight " + family + " " + size + " " + weight);
          } </script>
      

    ...

    id="try" class="fontselect fontsize fontweight de 64 textfield">点击这里试试看!
    ...

    ...

    【讨论】:

    • 很沮丧,我自己没有 15 次代表就无法为你的答案投票,但我会在我达到 15 次的那一天回来投票。非常感谢你花时间解决这个问题并伸出援助之手!
    • 哦,废话,等等——它还没有完全工作。不过,这可能只是我的实现......如果可编辑文本被单独留下,或者只是改变了一点,选择菜单会很好地改变 CSS 样式。但是,如果文本完全退格,则写入了新内容,选择菜单似乎不起作用(在 Chrome、Safari 和 Firefox 中测试)。如果我能找出错误在于我的语法,我会再次更新。不过,感谢您使它比以前更好地工作!我最终会得到它...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    相关资源
    最近更新 更多