$(document).ready(function()
{
$(".menubutton").click(function()
{
var $id=$(event.target.id.substring(0,2));
$(".active").animate({"top": "-=1000px"}, speedanim);
$("div#homedrawer div").filter($(".active")).removeClass("active");
$("#"+$id).animate({"top": "+=1000px"}, speedanim);
$("#"+$id).addClass("active");
return false;
});
});上面的代码生成了这个错误"target is not defined“,指的是这一行:
var $id=$(event.target.id.substring(0,2));这是HTML:
<a id="fesbtn" class="menubutton" href="#"><img src="img/menu/fes.png" alt="" /></a>
<a id="futbtn" class="menubutton" href="#"><img src="img/menu/fut.png" alt="" /></a>
<a id="reibtn" class="menubutton" href="#"><img src="img/menu/rei.png" alt="" /></a>
...很明显,我的语法是错误的。有什么想法吗?谢谢
发布于 2011-10-05 13:40:57
事件作为单击处理程序的参数丢失
发布于 2011-10-05 13:44:40
未定义事件
另外,javascript变量不应以$开头
发布于 2011-10-05 13:50:13
如果您要做的是获取所单击按钮的id,则替换为:
var $id=$(event.target.id.substring(0,2));有了这个:
var $id = this.id.substring(0,2);使用this引用生成事件的对象。比进入你还没有定义的事件对象要容易得多(这就是为什么你会得到一个JS错误)。
从代码的其余部分看,您似乎只希望$id是一个字符串。如果是这样的话,就不要试图用它来创建jQuery对象。你有没有意识到你在这里只能得到2个字符串?看起来您的按钮ID中可能有三个唯一字符。
https://stackoverflow.com/questions/7657112
复制相似问题