因此,在.load()之后进行交互时,我在使用事件处理程序时遇到了一些麻烦。功能已执行。
在页面上,当单击单选按钮时,回调加载内页/数据,没问题。但是,当我尝试使用内部元素的on。(click)事件时,函数会失败。所有代码都在顶级。知道事件失败的原因吗?
owners
这很好用,它可以很好地加载页面中的数据。
$('#radical input[type=radio]').on('click', function() { $('.subradical').load('../page');
});
这不起作用。
解释:"激进"处于最高水平。 " subradical"是空的,显示加载的数据(php)。 点击" subradical"中加载的数据中的li的事件应该触发抓住激光并将它们放入激进的"显示元素,但事实并非如此。我在这里没有看到的任何东西?
感谢。
编辑:
奇怪的是,当我执行这个功能时:
$('#radical .subradical li').on('click', function() {
var one = $(this).attr('id');
var two = $(this).attr('pic');
var three = $(this).attr('title');
$('#radical .display').css('background:url(../imgs/'+two+'); background-size:cover');
$('#radical .display .title').text(three);
});
警报显示。但是,当我添加LI时,它失败了。
$('#radical .subradical').on('click', function(e) {
alert('this works');});
答案 0 :(得分:0)
如果我理解你的问题,我认为这可能是因为带有两个操作数的on(" click",function(){})仅适用于当时存在的对象被调用,而不是稍后创建的(在您加载的情况下)。我认为你需要使用on函数的三参数形式,并在存在的东西上调用它,如
$("#existing-container").on("click", ".selector-for-something-created-later",
function(e){
dosomething();
});