2017-01-24 56 views
1

我有一個輸入文本框id =「inputChanges」。當用戶點擊文本框時,事件觸發,我可以得到「inputChanges」的ID。但是,我想要得到的是用戶在文本框外單擊的位置。例如,如果我在輸入字段中進行更改並直接單擊按鈕,我需要該按鈕的ID。jquery更改事件失去焦點到id,得到id

下,我不工作,因爲它沒有得到正確的ID:

$(document).ready(function(event) { 
    $("#inputChanges").change(function(event) { 
     alert(event.target.id); 
    }); 
}); 
+0

,你要聽該元素 –

+0

上的click事件所以你不應該是聽聽點擊按鈕? – epascarello

回答

0

添加事件監聽器來代替按鈕:

$("#button").click(function(e) { 
    alert(this.id); 
}); 
0

click事件是這樣的。

$(document).ready(function(event) { 
 
$("#inputChanges").click(function(event) { 
 
    alert(event.target.id); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="inputChanges">

0

$(document).ready(function(event) { 
 
    var focused = false; 
 
    $("#inputChanges").focus(function(event) { 
 
     focused = true; 
 
    }); 
 
    $(document).click(function(event){ 
 
     var target = event.target; 
 
     if(focused && target.id != "inputChanges"){ 
 
      focused = false; 
 
      alert(target.id); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="inputChanges"/> 
 
<p id="paragraph">this is a paragraph</p> 
 
<div id="div">this is a div</div>

如果你想點擊一個元素的ID