我不确定为什么我错了,每当我尝试比较目标时,我都会被定义。
我在这里做错了什么?
menu.find('> li').each(function() {
var li = $(this);
var ul = li.find('> ul');
var a = li.find('> a');
if(ul.length) {
a.click(function(event) {
event.preventDefault();
event.stopPropagation();
if(a.hasClass('open')) {
a.removeClass('open');
}
else {
a.addClass('open');
}
ul.toggle();
$(document).click(function() {
var target = $(event.target);
alert(target.attr('class'));
if(!target.is(ul) && !target.is(li) && !target.is(a)) {
ul.hide();
}
});
});
}
});
答案 0 :(得分:0)
我在你的代码中发现了几个错误:
$(document).click()
事件移出每个循环之外。否则,系统会根据您网页上的menu>li
次数附加多次此事件。undefined
来电alert(target.attr('class'));
$(document).click(function (event) {});
的原因可能是您没有为点击事件提供参数。将您的代码更改为: <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#00FF00"
android:typeface="monospace"
android:text="@string/hello" />