0

ちょっとした質問がありますが、私には解決できません。

onTouchEnd で小さな jquery コードを実行する必要がある div が 1 つあります (これは完全に実行されます)。この関数を実行すると、特定の div の ID が送信されます。

<div id="tapme1" class="subject hold" onTouchEnd="goes(this.id)"></div>

次の関数を実行します。

function goes(e) {
   var now = new Date().getTime();
   var lastTouch = $(this).data('lastTouch') || now + 1 /** the first time this will make delta a negative number */;
   var lement = e
   var delta = now - lastTouch;
   if(delta<300 && delta>0) {
      if($('#tapme1').hasClass("hold")) {
          $('#tapme1').removeClass("hold");
      }
      else {
      $('#tapme1').addClass("hold");
      }
   }
   else {
      // A click/touch action could be invoked here but we need to wait half a second before doing so.
   }
   $(this).data('lastTouch', now);
}
function goes(e) {
   var now = new Date().getTime();
   var lastTouch = $(this).data('lastTouch') || now + 1 /** the first time this will make delta a negative number */;
   var lement = e
   var delta = now - lastTouch;
   if(delta<300 && delta>0){
      if($('#tapme1').hasClass("hold")) {
          $('#tapme1').removeClass("hold");
      }
      else {
           $('#tapme1').addClass("hold");
      }
    }
    else {
       // A click/touch action could be invoked here but we need to wait half a second before doing so.
    }
    $(this).data('lastTouch', now);
}

ご覧のとおり、これは完全に機能します。ここで問題が発生します。クリックされたdivを変更したい。私が変わったとき$('#tapme1')$(lement)それは何もしませんでした。私は多くの可能性を試しました。

あなたの誰かがこれで私を助けてくれることを願っています。

4

6 に答える 6

3

#IDセレクターの前にありません。

$(lement)に変更$("#" + lement)

于 2012-07-10T18:19:26.450 に答える
1

使用する必要があります:$('#' + lement)

于 2012-07-10T18:19:46.180 に答える
1

あなたは間違っている'#'

次のように変更します。

$('#' + lement)

それ以外の:

$(lement)
于 2012-07-10T18:21:48.287 に答える
1

thisパラメータとしてではなく、送信するだけではthis.idどうでしょうか。

<div id="tapme1" class="subject hold" onTouchEnd="goes(this)"></div>

あなたが使用できるより

$(lement)
于 2012-07-10T18:22:04.917 に答える
1

IDを渡します。例:tapme1。jQueryはCSSセレクターを必要としてい#tapme1ます。$("#"+lement)したがって、コードを変更して、またはさらに良いものを探しますvar lement = "#" + e;

于 2012-07-10T18:23:59.877 に答える
0

すでに合格idしているので、変更する必要があります。

$('#tapme1')

に:

$('#' + lement)

lementあなたの関数の引数である、例えばidあなたが渡している。

于 2012-07-10T18:19:29.670 に答える