我希望在执行播放功能时停止页面跳转到#soundEvent所在的页面顶部。根据这个答案,https://stackoverflow.com/a/1998717/511438,它是由.html()
and引起的.append()
;可以通过使用 e.preventDefault() 或返回 false(false 不起作用)来防止页面“跳转”。如何使用 preventDefault?
我的文档中有以下内容。准备好
$("[data-play-sound]").each(
function ()
{
var soundFile = $(this).attr('data-play-sound');
if (soundFile != "") Play(soundFile);
$(this).removeAttr('data-play-sound');
}
);
function Play(mp3Path)
{
$("#sound_").remove();
console.groupCollapsed(' ');
$('#soundEvent').append('<embed id="sound_" autostart="true" hidden="true" src="' + mp3Path + '" type="audio/mpeg" />');
console.groupEnd();
}
我已经尝试过了,但导致错误:对象'0'没有方法 preventDefault
$("[data-play-sound]").each(
function (e)
{
...
if (soundFile != "") Play(e, soundFile);
...
}
);
function Play(e, mp3Path)
{
e.preventDefault();
...
}