2017-01-23 85 views
0

使用jQuery,我在一個div內生成了一些按鈕。如何獲取點擊事件的來源

一個按鈕,如下所示:

<button type="button" value="A_DIFFERENT_VALUE_EACH_TIME" class="col-md-4 text-center btn btn-default btn-lg" > 
    <h3>A_DIFFERENT_TEXT_EACH_TIME</h3> 
</button> 

我已經像那些10,在一個單一的股利。我需要的是一個事件處理程序,它給了我點擊按鈕的value

到目前爲止,我已經做了以下內容:

$("#card-subcontainer button").click(function(event){handleCardChoosed(event.target);}) 

,但它不工作,因爲event.target可能是h3button。我怎樣才能始終獲得我們註冊點擊事件的元素(而不是像目前那樣獲得焦點的元素?)

+0

使用'this'代替 – epascarello

+1

當綁定'$( 「#卡子容器按鈕」)''然後應該this'是目前點擊按鈕的引用。 – Nope

回答

3

您的綁定位於按鈕$("#card-subcontainer button")因此this上下文應該是對單擊按鈕的引用。

$("#card-subcontainer button").click(function() { 
 
    console.log(this); // this is the reference to the clicked button element 
 
    console.log(this.value); // use this to access the value of the button 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="card-subcontainer"> 
 
    <button type="button" value="1" class="col-md-4 text-center btn btn-default btn-lg"> 
 
    <h3>1st</h3> 
 
    </button> 
 
    <button type="button" value="2" class="col-md-4 text-center btn btn-default btn-lg"> 
 
    <h3>2nd</h3> 
 
    </button> 
 
    <button type="button" value="3" class="col-md-4 text-center btn btn-default btn-lg"> 
 
    <h3>3rd</h3> 
 
    </button> 
 
    <button type="button" value="4" class="col-md-4 text-center btn btn-default btn-lg"> 
 
    <h3>4th</h3> 
 
    </button> 
 
</div>

+0

我認爲「這個」會成爲他們的參考在這種情況下敲響註冊事件('window')的'this',我的不好!我認爲它的工作。只是一個問題,我不得不放棄'button'元素來使用另一種html元素。有沒有辦法檢索一個div的自定義「值」屬性?我嘗試了「attr('value')」,但我得到了一些錯誤 – J4N

+0

沒關係,我有我的自定義標記在父容器上。對不起,關於 – J4N

+0

'有沒有辦法檢索一個div的自定義「value」屬性? - 如果它是一個數據屬性,例如:'data-value =「5」',您可以使用'$('div' ).data('value')'來檢索它,如果它是完全自定義的,例如:'myCustomAtt =「Foo」',那麼你可以使用'$('div')。attr('myCustomAtt')'來獲得值 – Nope

相關問題