【发布时间】:2017-04-28 15:13:57
【问题描述】:
我正在尝试实现一些空闲检测代码。感谢someother SO 帖子,我让它工作了,但我希望它成为聚合物元素的一部分,所以我可以将<idle-fire></idle-fire> 粘贴在我的应用程序的任何位置并传递一些参数。这是我所拥有的:
<link rel="import" href="../bower_components/polymer/polymer.html">
<dom-module id="idle-fire">
<script>
Polymer({
is: 'idle-fire',
properties: {
idlelimit: {
type: Number,
value: 10
}
},
ready: function() {
}
});
</script>
</dom-module>
<script>
var idleTime = 0;
$(document).ready(function () {
//Increment the idle time counter every minute.
var idleInterval = setInterval(timerIncrement, 60000); // 1 minute
//Zero the idle timer on mouse movement.
$(this).mousemove(function (e) {
idleTime = 0;
});
$(this).keypress(function (e) {
idleTime = 0;
});
});
function timerIncrement() {
idleTime = idleTime + 1;
console.log("tick (" + idleTime + ")");
if (idleTime >= 2) { // in minutes
console.log("Idle event fired!")
}
}
</script>
如果我尝试将 <script> 标记的任何部分移动到 Polymer ready 函数,它将无法工作。就这样,我无法访问idlelimit 属性。
任何方向表示赞赏。
【问题讨论】:
-
您是否尝试过将代码保留在 Polymer 的构造函数之外
-
我应该提到,是的,它有效,但是我无法访问像
idlelimit这样的参数。我会更新问题。 -
您可以使用
document.querySelector('idle-fire').idlelimit访问它。顺便说一句,您已将 capitalV用于value。这将不起作用v应该小写。
标签: javascript polymer