【问题标题】:Change SVG font size with a mouse click通过鼠标单击更改 SVG 字体大小
【发布时间】:2015-04-16 00:18:31
【问题描述】:

我正在尝试使用以下方法更改 SVG 文本的大小:

$("#text"+x).click(function(){
    //$(this).style("font-size", "4");
    document.getElementById("text"+x).setAttributeNS(null, "font-size", "4px");
    //this.attr("font-size", "4px");
    alert('it is I'); 
});

您可以在那里看到我的大部分失败尝试。我收到警报弹出,但没有任何反应,也没有错误消息。 我搜索了网络和堆栈溢出无济于事...... 我正在使用 JS + Jquery!

欢迎任何提示!
干杯!

【问题讨论】:

  • 能否请您生成一个可运行的代码 sn-p 或链接一个 JSFiddle?

标签: javascript jquery svg


【解决方案1】:

使用下面的代码。检查DEMO。您需要将font-size 设置为属性。

 $(document).ready(function(){ 
  $("#text"+x).on('click',function(){
    $(this).attr("font-size", "50");
    alert('it is I'); 
  });
 });

或者如果您要动态添加 svg 元素,请使用以下代码

 $(document).ready(function(){ 
    $(document).on('click',"#text"+x,function(){
      $(this).attr("font-size", "50");
      alert('it is I'); 
    });
 });

【讨论】:

  • 您好!是的,你的例子正在工作,但我不能让它在我的最终工作;)没有任何线索。我检查了文本的属性,一切都像你一样,我想......我会尽快放一个可运行的 sn-p ;)谢谢你到目前为止的帮助!
  • 我一无所知!!!我只是做了一个快速的小提琴,它正在工作!!!但在主要项目上却没有!!!有任何想法吗?如何调试这个? jsfiddle.net/jsantos_pt/vbd4u6bd/3
  • 这里的“x”是什么?你是动态创建 svg 元素吗?
  • 你能和你分享小提琴的完整代码吗?你怎么拿'x'?
  • x 只是来自我正在运行的 for 循环...因为我需要更改单词的片段。
猜你喜欢
  • 1970-01-01
  • 2015-01-09
  • 2016-02-05
  • 1970-01-01
  • 2020-12-10
  • 2020-02-24
  • 2011-07-31
  • 2017-10-25
  • 2017-11-07
相关资源
最近更新 更多