JQuery нажмите и жить - PullRequest
       2

JQuery нажмите и жить

0 голосов
/ 11 сентября 2011

Заранее спасибо всем, кто прочитал;)

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

Скажем, у меня есть несколько ссылок, которые используют метод live для загрузки динамических данных file.html в существующий элемент div, и этот file.html имеет другие загружаемые ссылки.Я хочу иметь возможность щелкать по этим ссылкам, чтобы загрузить больше newfile.html в другой элемент div без перезагрузки страницы.

пример:

index.html

<ul>
<li><a id="resume">My Resume</a></li>
<li><a id="bio">Biography</a></li>
</ul>
<div id="dynamic">
... this div will load either resume.html or bio.html loaded depending on what link the user clicks on ...
</div>

резюме.html

<p>
.... blah blah .. <a id="vid1">Volunteer work day</a> ....
</p>
<div id="video>
<object> ... some php ... </object>
</div>

JQuery

$(document).ready(function(){
    $('a[rel!="external"]').click(function(){e.preventDefault();});
    $("#resume").live('click',function(){
       var data = $.get('resume.html');
       data.success(function(data){$("#dynamic").html(data);});
    });
    // should this be in the $("#resume").click function if this new link
    // is loaded from clicking  the resume link?
    $("#myVid").click(function(){console.log("Debug Output");});
});

Хорошо, так что если я оставлю код следующим образомновая ссылка (рабочий день волонтера) ничего не изменит при нажатии.Если я добавлю его в функцию, которая загружает содержимое resume.html в динамический div, мне придется дважды щелкнуть, чтобы выполнить действие.Как я могу это исправить?

1 Ответ

1 голос
/ 11 сентября 2011

использовать live или delegate

$("#myVid").live('click',function(){console.log("Debug Output");});

или связать обработчик щелчков при успешном обратном вызове resume, например

$("#resume").live('click',function(){
   var data = $.get('resume.html');
   data.success(function(data){$("#dynamic").html(data);
  $("#myVid").bind("click");
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...