jQuery委托更改处理程序在Apps脚本中不起作用

时间:2014-08-15 14:06:06

标签: javascript jquery google-apps-script event-delegation

我正在尝试在Google Apps脚本中添加带有jQuery的委托更改处理程序,但它无效。我希望能够让用户向包含选择框的表添加一行。

更新:这显然是Apps脚本的一个问题(可能是Caja清理问题?),因为代码本身在jsFiddle中有效。有没有人建议如何实现在GAS中可以使用的相同功能?

UPDATE2:我也尝试使用较旧的.delegate()方法,但这似乎也不起作用。

<div class="outer">
  <table>
    <tr>
      <th>Description</th><th>User Selection</th>
    </tr>
    <tr>
      <td>Pre Loaded</td>
      <td>
        <select>
          <option value="foo">foo</option>
          <option value="bar">bar</option>
        </select>
      </td>
    </tr>
  </table>
  <button>Add New</button>
</div>

脚本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    $('button').click(function(){
     $('.outer table').append(
           "<tr>"
            +"<td>Post Loaded</td>"
            +"<td>"
              +"<select>"
                +"<option value=foo>foo</option>"
                +"<option value=bar>bar</option>"
              +"</select>"
            +"</td>"
          +"</tr>" 
      );
    });

    //delegate change handler
    $('.outer table').on('change', 'select', function() {
      alert($(this).val());
    })

    //direct change handler
//    $('.outer table select').on('change', function() {
//      alert($(this).val());
//    })
</script>

0 个答案:

没有答案