Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误的javascript按钮事件处理程序_Javascript - Fatal编程技术网

错误的javascript按钮事件处理程序

错误的javascript按钮事件处理程序,javascript,Javascript,我正在尝试在我的页面上实现一个音乐播放器。我有一个表,每行代表一首歌,第一个元素是一个按钮,其id是歌曲的url <tbody> {% for e in entries %} <tr> <td><button class="song btn" id="{{ e.url }}"><i class="icon-play-circle"></i>

我正在尝试在我的页面上实现一个音乐播放器。我有一个表,每行代表一首歌,第一个元素是一个按钮,其id是歌曲的url

        <tbody>
        {% for e in entries %}
            <tr>
                <td><button class="song btn" id="{{ e.url }}"><i class="icon-play-circle"></i></button></td>
                <td>{{ e.title }}</td>
                <td>{{ e.artist }}</td> 
                <td>{{ e.features }}</td>
                <td>{{ e.genre }}</td>
                <td><a href="/myapp/editsong/{{ e.id }}">Edit</a></td>
            </tr>
        {% endfor %}
        </tbody>

这个实现在某种程度上是可行的,但是有很多缺陷。有时单击按钮会将音频元素src更改为空白,我必须多次单击该按钮。

通过使用javascript警报进行调试来检查参数event.target.id。单击按钮查看每个音频的值

if (audio.src != event.target.id)
...

我真的不确定,但您应该使用另一个属性来存储您尝试运行的歌曲的URL,如果我的内存没有问题,那么对于id attr允许的字符“范围”有一些限制

也许value属性没有这种限制。虽然我会使用更“字母数字”的东西作为对象/数组的引用,然后使用它来获取值

你好!
冈萨罗G.

什么是
audio.src
?为什么你需要这个检查:
如果(audio.src!=event.target.id)
?我想你不能从列表中选择当前歌曲了?@rlemon。是的,他们找不到布兰妮·斯皮尔斯的专辑……为什么你要给我们一个带有url ID的按钮,而不是使用锚定标签?另外,
标记已被弃用。@Kev,请检查参数try to debug。。。你认为这是一个答案吗?我不敢相信你拒绝了!最多只是一个评论(就像我做的那样)
if (audio.src != event.target.id)
...