【问题标题】:Event Handling In dynamically generated page动态生成页面中的事件处理
【发布时间】:2015-01-14 14:45:26
【问题描述】:

所以我有一个名为“标语”的 div,它包含在一个名为“容器”的 div 中。单击“标语”时,它会导航到另一个页面。问题是这个新页面上的事件在导航后没有响应。以下是我用来导航的代码:

$(document).ready(function(){
   $('.container').on('click', '.tagLines', function(){
       window.location = "manageMarks.php";
   });
}

以下是导航后拒绝工作的事件代码:

$(document).ready(function(){
	$('.container').on('click', '.loadSub', function(){
		alert('Clicked');
	});
});

但是,如果我使用 ajax 加载我想要的新视图,事件最终会起作用。以下是我正在使用的 ajax 代码:

$(document).ready(function(){
  $('.container').on('mouseover', '.tagLines', function(){
    $.ajax({
			type: 'GET',
			url: 'manageMarks.php',
			 data: {
			 videoCode: $(this).attr('data-code')
			}, 
			success: function(data){
				//alert(data);
				$('.container').html(data);				
			}
		}).error(function(){
			alert('An Error Has Occured');
		});
});

如何在不使用 ajax 的情况下让它工作?

【问题讨论】:

  • 浏览器控制台有错误吗?你在 manageMarks.php 中包含了 jQuery 吗?
  • 没有错误,是的,包含/添加了 jquery。

标签: javascript jquery ajax events javascript-events


【解决方案1】:

您是否正在重新加载整页?如果是这样,您的事件将需要再次连接。如果不是,它们应该连接到动态加载的内容。

【讨论】:

  • 是的,我正在重新加载整页,但那是不工作的。重新加载整个页面后如何连接它们。
  • 后续视图还需要一个 $(document).ready(....) 并且您需要再次连接所有事件。当您导航到新页面时,所有 javascript 状态(包括事件)都会丢失。这不是 AJAX 请求的情况,因为您没有离开页面。
  • 谢谢@garryp 你让我犯了错误。现在可以使用了
猜你喜欢
  • 1970-01-01
  • 2019-10-12
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多