我有一个表:
<table>
<th>Title</th>
<th>Artist</th>
<th>Length</th>
<tbody>
<?php
foreach ($lib as $name)
{
echo "<tr onmouseover='"ChangeColor(this, true);'"
onmouseout='"ChangeColor(this, false);'"
onclick='"dispSong('".$name->title. "','".$name->url."', this);'"><td>".$name->title."</td><td>".$name->artist."</td><td>".$name->time."</td></tr>";
}
?>
</tbody>
</table>
在javascript中,我可以找到下一行:
function dispSong(theSong, url, elem)
{
document.getElementById('currSong').innerHTML = theSong;
row = elem.rowIndex;
var song = document.getElementById('mp3');
song.src = url;
song.load();
}
function nextSong()
{
if (row == null) row = 1;
else{
alert(row+1);
}
document.getElementById('tr')[row].click;
var song = document.getElementById('mp3');
alert(song);
song.src = url;
song.load();
}
我有一个名为next的按钮,它在单击时调用nextSong函数。我想知道当按下下一个按钮时,我是否可以用程序点击下一行。
这段代码应该允许您以编程方式触发事件:
var target = document.getElementsByTagName('tr')[row];
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true,window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
target.dispatchEvent( oEvent );
}
else if(document.fireEvent) { // IE
target.fireEvent("onclick");
}
一些关于Mozilla initMouseEvent的文档。
编辑:
这就像<a/>
元素的符咒,但似乎对"不起作用。。。