我的附加音频有问题。 当页面滚动时,我动态加载音频,但是当我试图播放音频时,div,其中找到的音频不会改变它的属性,如何解决那? 我如何追加:
$(window).scroll(function(){
if(scrollCount == 0){
if($(window).scrollTop() > 200){
AddMoreContent();
}
} else{
if($(window).scrollTop() > $(window).height() * scrollCount - 100) {
AddMoreContent();
}
}
});
function AddMoreContent(){
$.ajax({url:thisPage + "/" + thisPage + "." + scrollCount +".html",context: document.body, success: function(response){
$("#main-content").append(response);
scrollCount++;
}
});
}
我如何收听音频事件:
$(document).ready(function () {
$("audio").on("play", function () {
var _this = $(this);
//$("audio").each(function (i, el) {
// if (!$(el).is(_this))
// $(el).get(0).pause();
// $(el).parent().removeClass("intro");
//});
_this.parent().addClass("intro");
});
});
答案 0 :(得分:0)
假设通过audio
请求追加$.ajax
个元素,您需要使用委托事件处理程序:
$('#main-content').on('play', 'audio', function() {
$(this).parent().addClass('intro');
// your code here...
});
答案 1 :(得分:0)
IHttpContextAccessor
没有冒泡,因此您无法使用事件委派。一旦将元素添加到dom中,您需要绑定处理程序,以便
function AddMoreContent() {
$.ajax({
url: thisPage + "/" + thisPage + "." + scrollCount + ".html",
context: document.body,
success: function (response) {
var $els = $(response);
$("#main-content").append($els);
//use .filter if the audio elements are in the root level of response
$els.find("audio").on('play', function () {
//do your stuff
});
scrollCount++;
}
});
}