0
我正在寫我的自定義聚合物元素。我需要爲那個元素定義一個方法toggle
。每當我在主HTML中創建該元素時,我應該可以調用該方法。以下代碼不起作用。我究竟做錯了什麼?如何創建自定義聚合物元素的方法並在主應用程序中調用它?
loader.html
<link rel="import" href="../polymer/polymer.html">
<link rel="import" href="../paper-dialog/paper-dialog.html">
<script type="text/javascript" src="../../javascripts/jquery.js"></script>
<polymer-element name="loader">
<template>
<paper-dialog opened id="loadingPage">"{{message}}"</paper-dialog>
</template>
<script>
Polymer({
message: "Activating",
toggle: function() {
//jQ("#loadingPage").toggle();
console.log("Internal toggle");
}
});
</script>
</polymer-element>
的Index.html
<loader id="activationLoading">
</loader>
<paper-button id="act-submit" raised>
Continue
</paper-button>
index.js
jQ('#act-submit').click(function() {
console.log("toggled");
jQ('#activationLoading').toggle();
});
附: - 如果我將方法名稱從toggle
更改爲foo
,則會引發javascript錯誤。
不是。事情是,我可以在日誌中看到「切換」,即「click」事件已經被捕獲。問題出在'loader'的'toggle'方法。 – Heisenberg 2014-11-24 13:42:08
更新了我的答案。 – 2014-11-24 15:50:17
現在明白了。當'paper-dialog'被創建爲core-overlay陰影根目錄下的shadow DOM時,Jquery無法工作。 – Heisenberg 2014-11-25 10:45:13