我正在尝试创建一个脚本,每次点击div
类furniture
时,都会使用最后点击的元素更新变量。
不幸的是,虽然看起来这确实有效,但它似乎只是有时起作用。就任何形式的一致性而言,我一直无法找到。
$(document).on("click", ".furniture", function() {
console.log("YouBeClickin'");
if ( isCurrentElem == 1) {
$(currentElem).removeClass("chosen")
}
currentElem = "#" + this.id;
$(currentElem).addClass( "chosen");
isCurrentElem = 1;
//alert(currentElem);
});
我正在使用JavaScript动态添加furniture
分类元素,否则我会发布HTML。在检查HTML时,很明显我的div
被归为furniture
,所以问题不在于此。
点击似乎从未真正触发过,不是因为我没有在屏幕上获得预期的结果,而是在我的控制台中没有记录任何内容。再说一遍,并不是因为它不经常发生,而且不经常发生。
非常感谢任何帮助。
答案 0 :(得分:0)
你可能想要这样的东西:
var currentFurniture; // predefine the "global"
$(document).on("click", ".furniture", function () {
console.log("YouBeClickin'");
if ( currentFurniture !== this ) {
$(currentFurniture).removeClass("chosen");
currentFurniture = this;
$(this).addClass("chosen");
}
});
答案 1 :(得分:-1)
尝试:
$(document).bind(function() {
console.log("YouBeClickin'");
if ( isCurrentElem == 1) {
$(currentElem).removeClass("chosen")
}
currentElem = "#" + this.id;
$(currentElem).addClass( "chosen");
isCurrentElem = 1;
//alert(currentElem);
});
或与Jquery:
$(document).onclick(function() {
console.log("YouBeClickin'");
if ( isCurrentElem == 1) {
$(currentElem).removeClass("chosen")
}
currentElem = "#" + this.id;
$(currentElem).addClass( "chosen");
isCurrentElem = 1;
//alert(currentElem);
});