内容:
下面的jquery脚本根据用户单击的链接将外部文件加载到索引模板中的div中。

问题:
外部文件中的链接不遵循jquery脚本或CSS样式,因为它们无法将新的外部文件加载到位于索引模板内的div

jQuery的:

$(window).on('load', function() {
    $("#content").load("content/index_content.php");

    $('a').click(function(e){
        e.preventDefault();
        $("#nav div").removeClass("active");
        $(this).children("div").addClass("active");
        $('#content').load($(this).attr('href'));
        return false;
    )};
)};

最佳答案

我认为您是指事件委托。 (请参阅:https://learn.jquery.com/events/event-delegation/

您当前的jQuery在窗口加载时运行,因此此后添加的任何元素都没有附加事件。您可以通过将事件侦听器添加到父元素并将事件委托给子元素来解决此问题。

您需要将$('a').click(function(e){更改为$(document).on('click', 'a', function(e) {之类,这意味着只要在文档中单击定位标记,该事件就会触发。

例如

$(window).on('load', function() {
    $("#content").load("content/index_content.php");

    $(document).on('click', 'a', function(e) {
        e.preventDefault();
        $("#nav div").removeClass("active");
        $(this).children("div").addClass("active");
        $('#content').load($(this).attr('href'));
        return false;
    )};
)};

关于jquery - 通过单击外部文件中的链接将外部文件加载到索引模板中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54113080/

10-10 19:01