вызов jquery со страницы ajax - PullRequest
0 голосов
/ 12 июня 2009

У меня проблемы с использованием jQuery с дочерней страницей

parent.html загружает child.html примерно так: т.е. пользователь нажимает

<a href="#" id="n-email">

JQuery

$('a#n-email').click(function() {


    $.ajax({
      type: "GET",
      url: "/scripts/contact.js",
      dataType: "script"
    });

    $('#content').load("child.htm");            

}); 

contact.js

$(function() {

    alert ("contact js hit");
}

Это иногда работает. Но я не могу понять логику, почему это работает. Я также попытался добавить ссылку на Jquery в обработчике. Я чувствую, что мне здесь не хватает трюка.

Благодаря Джейку + Люкусу. У меня есть следующая работа. Нуждается в рефакторе, но работает

$ ('# n-email'). Click (function () { var e = this; сброса (е);

    var mypage = $('#contentemail').load("email.php"); 

    $.ajax({
          type: "GET",
          url: "/scripts/contact.js",
          dataType: "script",
          success: function(mypage)
          {
              $(document).append(mypage);
          }
        });

    $('#contentemail').show();            

});

Ответы [ 2 ]

2 голосов
/ 12 июня 2009

Во-первых, вам нужно поместить функцию обратного вызова в jQuery ajax, используя свойство success. Во-вторых, вы не можете просто поместить javascript в элемент HTML. Это просто работа. Вы можете попробовать использовать eval. Попробуйте этот код для начала:

$('a #n-email').click(function() {
    $.ajax({
          type: "GET",
          url: "/scripts/contact.js",
          dataType: "script",
          success: function(value){eval(value)}
        });     
});
1 голос
/ 12 июня 2009

Использование $ (document) .append (content) удалит все теги скрипта из контента и попытается их оценить Так что вы могли бы пойти

$('a #n-email').click(function() {
    $.ajax({
          type: "GET",
          url: "/scripts/contact.js",
          dataType: "script",
          success: function(result)
          {
              $(document).append(result);
          }
        });     
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...