我知道我的问题在过去已有答案,但我没有找到这个词汇。
我调用这样的JavaScript函数:
<a href="javascript:showTable('.stats-table');">Voir +</a>
此函数会更改元素.stats-table
的状态,但我想知道单击了哪个按钮来调用此函数?
更好:我可以拥有此按钮的jQuery对象吗?
答案 0 :(得分:1)
尝试传递this
引用以了解单击了哪个按钮,
HTML:
<a href="javascript:showTable('.stats-table',this);">Voir +</a>
JS:
function showTable(selec,elem){
var currentElem = $(elem); //Clicked element
}
答案 1 :(得分:0)
当您使用jQuery时,您可能会考虑重构您的代码:
$(document).ready(function(){
$('.show-table-link').on('click', function(){
var $usedButton = $(this)
showTable('.stats-table')
}
})
<a href="#show-table" class="show-table-link">Voir +</a>
附加点击处理程序而不是内联编写它是一种很好的做法。进一步阅读document.ready和jQuery event basics。
答案 2 :(得分:0)
如果你的功能是这样的:
function showTable(selec) {
// some code
}
您可以使用this
:
function showTable(selec) {
// some code
var clickedElem = this;
}
答案 3 :(得分:0)
如果您不想更改函数的签名以及调用它的方式(正如其他人建议的那样),您可以使用全局window.event
来标识所单击的元素:
function showTable(selector)
{
var clickedElement = window.event.target;
//...
}
请参阅MDN。
答案 4 :(得分:0)
您可以传递任何值或ID,并且您可以识别该功能
<script type="text/javascript">
function showTable(clss_name,fun_id)
{
if(fun_id=='A1')
{
alert("First function Executed");
}
if(fun_id=='A2')
{
alert("Second Function is executed");
}
}
</script>
......
......
......
<a href="javascript:showTable('.stats-table',this.id);" id="A1">Voir +</a>
<a href="javascript:showTable('.stats-table',this.id);" id="A2">Voir2 +</a>