我有一个小问题,我无法解决;
我有一个div,onTouchEnd应该运行一个小的jquery代码(它做得很好)。 运行此功能时,它将发送特定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)
时,它没有做任何事情。我尝试了很多种可能性。
希望你们中的任何人都可以帮助我,谢谢!
答案 0 :(得分:3)
您在ID选择器之前缺少#
。
将$(lement)
更改为$("#" + lement)
答案 1 :(得分:1)
你必须使用: $('#'+ lement)
答案 2 :(得分:1)
你错过了'#'
将其更改为:
$('#' + lement)
而不是:
$(lement)
答案 3 :(得分:1)
为什么不仅发送this
而不是this.id
作为参数?
<div id="tapme1" class="subject hold" onTouchEnd="goes(this)"></div>
比你可以使用
$(lement)
答案 4 :(得分:1)
你传递的是id,例如tapme1
。 jQuery想要一个CSS选择器,例如#tapme1
。因此,请更改代码以查找$("#"+lement)
,甚至更好地查找var lement = "#" + e;
。
答案 5 :(得分:0)
由于您已经传递id
,因此您必须更改:
$('#tapme1')
要:
$('#' + lement)
lement
是你的函数的参数,例如你传递的id
。