javascript只做一次
我有下面的功能,让我的元素反弹,每次我点击他们。我如何才能做到我只能在每个元素上单击一次,如果我再次单击以获得警报(“已单击我”)javascript只做一次,javascript,Javascript,我有下面的功能,让我的元素反弹,每次我点击他们。我如何才能做到我只能在每个元素上单击一次,如果我再次单击以获得警报(“已单击我”) 像这样的东西应该可以做到: function bounceOnClick(view) { if (view instanceof View) { // Listen to a click event, and run this handler only once. view.one("click", function (ev
像这样的东西应该可以做到:
function bounceOnClick(view) {
if (view instanceof View) {
// Listen to a click event, and run this handler only once.
view.one("click", function (event) {
event.stopPropagation();
view.scale = 0.7;
view.animate({
properties: {
scale: 1.0
},
curve: "spring(1000,15,500)"
})
// New event handler: notify the user the element was clicked before.
view.on("click", function (event) {
event.stopPropagation();
alert("already clicked me!");
})
})
}
}
这将使用jQuery只运行第一个函数一次,然后分配一个新的事件处理程序,该处理程序带有“已单击我!”
警报。您可以使用jQuery
Jquery.one():-将处理程序附加到元素的事件。对于每个事件类型,每个元素最多执行一次处理程序
试试这个:
view.one("click", function (event) {
// Your Code
});
在JavaScript中,所有对象都是动态的,因此您可以向视图添加属性:
view.on("click", function (event) {
if (this.clicked) {
alert("already clicked!");
} else {
// your code
this.clicked = true;
}
});
单击时为元素设置布尔属性。[eg view.clicked=true;]如果属性存在,则发出警报。然后,第二次单击将生成警报消息。
view.on("click", function (event) {
if (this.clicked) {
alert("already clicked!");
} else {
// your code
this.clicked = true;
}
});