2016-03-11 5 views
0

Я работаю над модулем, который содержит две страницы один являющийся product.php и другой являющийся filterproducts.php.Нажмите() функция не работает Jquery

product.php содержит Div элемент, который загружается в .load() настоящее время внутри product.php

<div id="limitpage"> 
</div> 

.load() функция делает вызов AJAX и получить выход из filterproducts.php

Структура product.php выглядит следующим образом

<button id="nex" >clickme</button> 
    <div id="limitpage"> 
     </div> 
    <script> 
      //Both of them are in document ready function 
      $('#nexus').on('click',function() { 

       alert("here"); 

      }); 
     $('#nex').click(function(){ 
      $('#limitpage').load("filterproducts.php"); 
     }) 

    </script> 

filterproducts.php содержит кнопка

<button id="nexus">Next Page</button> 

Но, когда страница загружается на (» click ', function()) не работает. Почему это происходит именно так? Какое обходное решение сделать то же самое, если это невозможно.

+0

Вам необходимо передать события. Что-то вроде '$ ('# limitpage'). On ('click', '#nexus', function() {...});' – putvande

+0

Если вы загружаете 'filterproducts.php' * асинхронно *, привязка не найдете элемент 'nexus', потому что он еще не добавлен в DOM. –

+0

Можете ли вы рассказать мне, как это сделать? Я имею в виду, что я новичок в jquery php. –

ответ

5

Когда документ готов, то выход из filterproducs.php еще не присутствует на странице, так $('#nexus') возвращает пустой набор, и поэтому не связаны.

Решение состоит в том, чтобы связать что-то, что присутствует на странице, и отфильтровать в момент щелчка. Типичный пример:

$(document).on('click', '#nexus', function() { 
    alert('nexus clicked!'); 
}) 
0

Вам необходимо провести мероприятие. Просто рассмотрите это как замену .live() // deprecated now. Это привяжет функцию щелчка к вашей кнопке

$(document).on('click', '#nexus', function() { 
    alert('nexus clicked!'); 
}) 
Смежные вопросы