我找到了很多关于这个主题的帖子,但到目前为止没有帮助......
我正在使用Jquery Mobile开发一个Web应用程序并遇到了一个问题。 我有这个代码片段驻留在我的页面中:
<script type="text/javascript">
function prepareLinks() {
$( "a.ajax" ).on( "click", function( event ) {
event.preventDefault();
$.get($(this).attr( "href" ), '', function(data) {
$("#content").html(data);
});
});
}
$(function() {
alert('triggered');
{if $autoload}
$.get('{$autoload}', '', function(data) {
$("#content").html(data);
$("#content").trigger("create");
});
{/if}
prepareLinks();
if (screen.availWidth > 599) $( "#mainnav" ).panel( "open" );
});
</script>
我的问题是,当用户点击链接(不是ajax加载)时,$(function() {
似乎不会被执行,但只有在手动刷新页面时才会执行。
我还尝试了<body onload="
以及快速直接将代码直接写入DOM ...没有任何改变问题...
答案 0 :(得分:0)
猜猜我发现了我的问题......这是我完全错过的集成Ajax加载功能......
答案 1 :(得分:0)
它需要一个实际启动的触发器,就像第一个函数一样。 例如,点击&#34; a&#34;会触发foo函数:
var foo = function(event){
//your code here
}
$( "a" ).on( "click", foo );
参考:https://learn.jquery.com/events/triggering-event-handlers/
希望它有所帮助!