javascript - 在 Polymer 元素中使用 JavaScript

标签 javascript jquery polymer

我有一个 polymer 对象:

<newfolder-element id="newfolderelement" popupStyle="width: 362px; height: 100px;">
    <span class="title">Utwórz nowy folder</span>
    <input type="text" class="ginput" style="width: 350px; padding: 5px;" placeholder="Nowy katalog" />
    <br />
    <button class="action blue"><span class="label">Utwórz</span></button>
    <button class="action red" id="cancelBtn"><span class="label">Anuluj</span></button>

        <script type="text/javascript">
            ...
        </script>

</newfolder-element>

我想在 javascript 中访问 dom 元素,我试过这个:

<script type="text/javascript">

                    Polymer('newfolderelement', {
                        domReady : function(){
                            $(this.shadowRoot.querySelector("#cancelBtn")).on('click', '#cancelBtn', function(){
                                console.log("clicked");
                            });
                        }
                    });
</script>

还有这个:

<script type="text/javascript>
                    $(this.shadowRoot.querySelector("#cancelBtn")).on('click', '#cancelBtn', function(){
                        console.log("clicked");
                    });

</script>

还有这个:

<script type="text/javascript>
                    $("#cancelBtn").click(function(){
                        console.log("clicked");
                    });

</script>

但是以上都不起作用。如何访问 polymer 对象中的 dom 元素?

最佳答案

为什么要使用 jQuery,Polymer 已经为您提供了该功能:

  • 访问 DOM 元素使用 $ map元素的引用,即获取对 #cancelBtn 的引用

    this.$.cancelBtn

  • 添加一个事件处理器使用declarative event mapping ,即向按钮添加点击处理程序

<button class="action red" id="cancelBtn" on-click="{{cancelClicked}}"></button>

只需将方法 cancelClicked 添加到组件的脚本部分即可。

  <script>
    Polymer('newfolder-element', {
      cancelClicked: function() {
         // do something
      }
    });
  </script>

这要简单得多,您的组件不需要额外的库。

关于javascript - 在 Polymer 元素中使用 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155927/

相关文章:

css - 基于父页面的自定义元素 Polymer 对话框大小/位置

javascript - knockout 对象的自定义绑定(bind)

javascript - Ajax 成功返回值在其他函数中的使用

javascript - jQuery:检测数据元素的变化

javascript - 当 JSON 对象为空时显示适当的消息

javascript - 全屏视频顶部显示Polymer Starter Kit应用程序抽屉和应用程序标题

javascript - Polymer - 定期刷新 API 调用的数据

javascript - 第一个子样式仅适用于第一个元素

javascript - 用于显示更新文本并保存按钮单击的文本框

javascript - 使用 jQuery 设置复选框