Object <object>没有方法'methodeX'</object>

时间:2012-12-02 13:10:50

标签: typeerror rangy

我在chrome中遇到错误:

未捕获的TypeError:对象s1A没有方法&#39; applyToSelection&#39;

在Firefox(firebug)中我得到了这个:

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>

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

1 个答案:

答案 0 :(得分:0)

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

window.onload = function() {
    var appliers = {};
    rangy.init();
    appliers.s1A = rangy.createCssClassApplier("css_1", true); 
};

function dosome(el) {
    var val = el.value;
    appliers[val].applyToSelection();
}