我有一个这样的导航栏
<div id="top" data-role="navbar" data-type="horizontal">
<ul>
<li><a href="#a">A</a></li>
<li><a href="#b">B</a></li>
<li><a href="#c">C</a></li>
<li><a href="#d">D</a></li>
</ul>
</div>
我有一个 <div id="content">
例如
然后我添加我的javascript
<script language="javascript">
$('div[id="top"] ul li a').live("click", function(e) {
e.stopImmediatePropagation();
e.preventDefault();
var html = //SOME HTML
var content = $('div[id="content"]');
$(content).html(html);
});
</script>
但是,它只起作用,即,如果我点击按钮两次,将 div 内容更改为我的 HTML,如果我点击一次,它只会给我默认页面。知道如何纠正它吗?
我在这里创建一个 fiddle 供您测试 http://jsfiddle.net/3Rcem/
我找到了使用 .click() 而不是 .live('click') 的解决方案,但是我无法绑定(bind)到 Jquery mobile 建议的 'vclick',任何人都可以帮助我使用 live 吗?
最佳答案
我不知道为什么,但是当我改变了.live("click",
至 .click(
它工作正常。
顺便说一句:$('div[id="content"]')
是不正确的。你应该做 $('div#content')
可能只是$('#content')
.
还有这个:<script language="javascript">
不正确,应该是:<script type="text/javascript">
.
关于javascript - jquery mobile,使用 .live() 或 .bind() 在导航上执行 ajax 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7902481/