【问题标题】:Object <object> has no method 'methodeX'对象 <object> 没有方法 'methodeX'
【发布时间】:2012-11-20 02:41:01
【问题描述】:

我在 chrome 中遇到错误:

未捕获的类型错误:对象 s1A 没有方法“applyToSelection”

在 Firefox(萤火虫)中我得到了这个:

TypeError: val.applyToSelection 不是函数

我使用 rangy-core 和 rangy-cssclassappliere

我的代码:

<script type="text/javascript"> 
    window.onload = function() {    
    rangy.init();
      s1A = rangy.createCssClassApplier("css_1", true); 
    };

   //this is the Problem.
   function dosome (el) {
      var val = el.value;
      val.applyToSelection();
   }
</script>

<body>
  <button value="s1A" onclick="dosome(this);">test</button>
</body>

如果 id 这样做:

<script type="text/javascript"> 
    window.onload = function() {    
    rangy.init();
      s1A = rangy.createCssClassApplier("css_1", true); 
    };
   function s1() {
      s1A.applyToSelection();
   }
</script>

<body>
  <button onclick="s1();">test</button>
</body>

它工作正常。但我需要它作为选项字段,我想获得价值

【问题讨论】:

    标签: typeerror rangy


    【解决方案1】:

    我建议将应用程序存储在一个对象中,其中每个属性名称对应一个输入值:

    window.onload = function() {
        var appliers = {};
        rangy.init();
        appliers.s1A = rangy.createCssClassApplier("css_1", true); 
    };
    
    function dosome(el) {
        var val = el.value;
        appliers[val].applyToSelection();
    }
    

    【讨论】:

    • 我是 JS 的初学者,我不明白你的答案,但我找到了另一个 here。谢谢 TIM,你是一个机构
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    相关资源
    最近更新 更多