javascript - Jquery 在 Ajax 生成的内容中使用时为 Null

标签 javascript jquery html ajax

我有一个具有以下结构的 jquery 函数

function StartSong(e, sender) { } 

我用下面的html来调用它

<h4 onclick="StartSong(event, this)"> <a class="button small d3 playButton" href="javascript: var c=1;">

当页面加载时,会显示一些歌曲,当单击播放时,函数中的发送者对象包含此数据,这是预期的

({jQuery18307744602853717308:8, sizcache04790260167065139:"6 18 0", sizset:false})

虽然当我通过ajax加载更多歌曲并将html附加到页面(与上面相同的html)并且通过单击调用该函数时,函数中的sender变量为空。

有人看出这有什么原因吗?

最佳答案

试试这个,将 onclick="StartSong(event, this)" 更改为 onclick="StartSong(event)"function StartSong(e, sender )function StartSong(e),然后使用 e.target 而不是 sender。下面是片段。

您的 HTML,

<h4 onclick="StartSong(event)"> 
<a class="button small d3 playButton" href="javascript: var c=1;">

还有你的js,

function StartSong(e) { 
    var sender = e.target; //now use sender as you have been using.
}

关于javascript - Jquery 在 Ajax 生成的内容中使用时为 Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363891/

相关文章:

javascript - 以代码格式下载图像

javascript - JQuery,新的 JS 函数语法

javascript - 如何在 jAM 页面之间存储变量?

javascript - 为什么ajax中数据显示未定义

html - 为网站和 iOS 应用程序共享 CMS

javascript - 尝试使用 Promise 从不同查询获取数据以在页面上呈现

javascript - jquery 查找并替换元素中的关键字

html - 为什么位置固定不起作用?

javascript - 如何拖放某些东西但它不会消失所以我们可以继续拖放它

javascript - 从动态添加的输入中获取数据