0

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);
});

furnitureクラス化された要素を JavaScript で動的に追加しています。それ以外の場合は、HTML を投稿します。HTML を調べると、問題がそこにないので、私divの が分類されていることが明らかです。furniture

クリックは実際には発生しないように見えますが、画面上で期待される結果が得られないという事実ではなく、コンソールに何も記録されていないことに注意してください。繰り返しますが、それがまったく起こらないというわけではありません。

どんな助けでも大歓迎です。

4

2 に答える 2

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");
    }
});
于 2013-08-13T20:15:37.713 に答える
-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);
});
于 2013-08-13T20:08:04.190 に答える