我创建了一个JavaScript工具,使用美容插件,使用美容提示来显示列表选项的菜单,然后绑定动作。问题与IE浏览器中的jQuery功能定义?
我开始用一个简单的div来定义菜单项
<div id="menu-div">
<a href="javascript:;" id="link-one">text link one</a><br />
<a href="javascript:;" id="link-two">text link two</a><br />
<a href="javascript:;" id="link-three">text link three</a><br />
</div>
然后实例的美人尖用下面的代码:
$("#menu-toggle").bt({
contentSelector: "$('#menu-div').html()",
preShow: function(box) {
$("a[id^=link-]").click(function() {
//do something
});
});
我添加了“ preShow'功能,因为由于某种原因,直到div被启用后才发现“link-”id。(?)。这在firefox,safari和chrome中可以很好地工作,因为我可以点击菜单切换,查看三个链接,单击链接一,并且发生链接正确的操作等等。
这在Internet Explorer中工作正常,但只在第一次。第二次通过(点击显示菜单,点击另一个链接),Internet Explorer似乎无法找到相同的ID。
关闭菜单后,我是否必须取消绑定功能?
这里的美容秘诀是如何处理的预演功能:
// trigger preShow function
// function receives the box element (the balloon wrapper div) as an argument
opts.preShow.apply(this, [$box[0]]);
我不会使用'href =“javascript:;”'。改用'href =“#”'。此外,你是否将此代码包装在'$(document).ready(function(){...'? – Blender 2011-04-15 20:46:24