jQuery代码:
$(document).on('click', ".t_box", function(){
var id = $(this).attr('id');
alert(id);
});
HTML代码:
<div class="t_box" id="<%= t.id %>">
<div class="tname">
<div id="collapse">
<%= form_tag('http://localhost:3000/ts/collapse_ts', :method => 'post', :remote => true ) do %>
<%= hidden_field_tag(:t_id, t.id) %>
<%= image_submit_tag "collapse.png" %>
<% end %>
</div>
每当我点击我的页面上的div #collapse时,我的警报就会响应&lt;%= t.id%&gt;,这意味着它没有看到我点击的实际元素。它应该显示'崩溃'。我已经尝试为#collapse设置z-index:9999但我仍然无法通过jQuery注意到它。有什么想法吗?
谢谢!
答案 0 :(得分:4)
使用target attribute的event来获取触发事件的实际元素
$(document).on('click', ".t_box", function (e) {
var id = e.target.id
alert(id);
});
答案 1 :(得分:1)
试试这个:
$(document).click(function (e) {
alert(e.target.id); // The id of the clicked element
});