我正在尝试根据此处找到的“重叠”方法为通过 Ajax 加载的内容在悬停时播放声音: http: //css-tricks.com/play-sound-on-hover/:
function audioController(){
$("a") // loop each menu item
.each(function(i) {
if (i != 0) { // only clone if more than one needed
$("#hover")
.clone()
.attr("id", "hover-" + i)
.appendTo($(this).parent());
}
$(this).data("beeper", i); // save reference
})
.mouseenter(function() {
$("#hover-" + $(this).data("beeper"))[0].play();
});
$("#hover").attr("id", "hover-0"); // get first one into naming convention
}
这适用于所有非 ajax href。但是,对于 Ajax 内容,它仅适用于 ajax 内容中的第一个 href。我收到此错误消息:
Uncaught TypeError: Cannot call method 'play' of undefined
这将是这一行:
$("#hover-" + $(this).data("beeper"))[0].play();
以下是我尝试使用 Ajax 调用加载函数的方式:
$("#site-nav .nav1").on("click", function(event) {
$('ul.top-level').load('assets/includes/recent.php', function(){
$(this).show();
audioController();
});
event.preventDefault();
});