2013-05-22 167 views
1

我有一個簡單的JavaScript函數:調用JavaScript函數多次

function f1() 
{ 
    alert("HI"); 
} 

我打電話從兩個地方同一個JavaScript功能,說:

<input type="submit" id="btn1" onclick="f1()"/> 

<input type="submit" id="btn2" onclick="f1()"/> 

如何找到目標元素,其稱這個函數?

編輯:如何檢查元素是否是一個按鈕或其他?

+0

如果你使用jQuery,有什麼意義內嵌的JavaScript?使用'$(#btn1).click(...)'。 – georg

回答

4

HTML

<input type="submit" id="btn1" onclick="f1(this)"/> 
<input type="submit" id="btn2" onclick="f1(this)"/> 

的js

function f1(el) { 
    console.log(el) 
} 

演示:Fiddle

2
function f1(element) 
{ 
    alert($(element).attr("id")); 

    if ($(element).is(":button")) { 
     alert("Im button"); 
    } 
} 

<input type="submit" id="btn2" onclick="f1(this)"/> 
+0

如何檢查元素是否是按鈕或其他? – Pearl

+0

更新了答案 –

+0

查看我的回答 –

2

試試這個

<input type="submit" id="btn1" onclick="f1(this)"/> 
<input type="submit" id="btn2" onclick="f1(this)"/> 

和控制檯一樣

function f1(comp) 
{ 
    console.log(comp); 
} 
1

添加this的函數調用

<input type="submit" id="btn1" onclick="f1(this)"/>

<input type="submit" id="btn2" onclick="f1(this)"/>

和修改您的js爲

function f1(el) 
{ 
    alert(el.nodeName) ; // alerts type of HTML element 
} 

el將包含一個參考元件

EDIT:添加代碼以檢測HTML元素的類型

1

最簡單的方法:

<input type="submit" id="btn1" onclick="f1(this)"/> 

<input type="submit" id="btn2" onclick="f1(this)"/> 

JS:

function f1(btn) 
{ 
    alert("Hi from " + btn); 
} 
1

如果您已經在y上使用jquery,則爲我們的頁面,也許你應該嘗試給所有你想要的目標共享類,然後檢測點擊?

<input class="same_kind_buttons" type="submit" id="btn1" /> 
<input class="same_kind_buttons" type="button" id="btn2" /> 


<script> 
$(".same_kind_buttons").click(function() { 
    console.log($(this).attr("type")); 
    console.log(this.id); 
}); 
</script> 

當然,如果傻冒沒有在頁面上使用jQuery的,你不應該包括它只是該功能,你可以使用:

<input type="submit" id="btn1" onclick="f1(this);"/> 
<input type="submit" id="btn2" onclick="f1(this);" /> 

<script> 
    function f1(elem) { 
    console.log(elem.tagName); 
    console.log(elem.id); 
    } 
</script>