$(点击链接时不执行 - 每次都需要重新加载页面

时间:2017-04-10 11:52:25

标签: javascript jquery html

我找到了很多关于这个主题的帖子,但到目前为止没有帮助......

我正在使用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 ...没有任何改变问题...

2 个答案:

答案 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/

希望它有所帮助!