2016-08-21 58 views
0

如何在没有onclick属性的表格行上模拟点击。通常当我碰到它时,会打开一个新页面。但是,如何在我的代码中执行此操作? 让我让我的问题更清晰。假设当我通常点击第一行..它重定向到另一页。现在由于onclick属性没有函数名,我无法弄清楚究竟是什么被调用。现在我想要做的是模拟行上的点击。自服务器以来我无法更改源代码,现在我正在使用chrome中的inspector和tapermonkey编写js代码。 Click()函数不起作用。TaperMonkey动态点击

回答

0

您可以使用EventTarget.addEventListener()

var trs = document.querySelectorAll('tr'); 
 

 
var redirect = function() { 
 
    if (this.dataset && this.dataset.target) return window.location.href = this.dataset.target; 
 
}; 
 

 
for (var i = 0, ii = trs.length; i < ii; i++) { 
 
    trs[i] && trs[i].addEventListener('click', redirect, false); 
 
}
tr:hover { 
 
    background: #EEE; 
 
    cursor: pointer; 
 
}
<table> 
 
    <tr data-target="https://google.com"> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    </tr> 
 

 
    <tr data-target="https://developer.mozilla.org"> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    </tr> 
 

 
    <tr data-target="http://stackoverflow.com/"> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    <td>Lorem ipsum.</td> 
 
    </tr> 
 
</table>

+0

假设当我通常点击第一行。它重定向到另一个页面。现在由于onclick属性没有函数名,我无法弄清楚究竟是什么被调用。现在我想要做的是模拟行上的点击。自服务器以来我无法更改源代码,现在我正在使用chrome中的inspector和tapermonkey编写js代码。 Click()函数不起作用。 –