我难以防止每个事件对象的默认操作。每个事件都应显示一个具有" Ajax-event"类ID的链接。并具有该ID的链接应已执行DestractDefault()。
这是我的event.js文件中的代码
function listenForEvent() {
$('#ajax-event').on('click', function(event) {
console.log('you just hit event')
event.preventDefault()
});
};
这是我的事件中的迭代#index.html文件:
<tr><!--this will list the details of the column name-->
<% @events.each do |event| %>
<% if event.event_guests.any? {|guest| !guest.rsvp }%>
<td><%= link_to "#{event.name}", user_event_path(@user, event), id: "ajax-event", class: "ajax-event" %></td>
<td><%= event.location %></td>
<td><%= event.date.strftime("%b %d, %Y") %></td>
<td><%= link_to "Edit", edit_user_event_path(@user, event) %></td>
<td><%= link_to "Delete", user_event_path(@user, event), method: :delete %></td>
</tr>
<% end %>
<% end %>
此预防违规()操作仅在第一个事件对象上起作用。任何帮助!
单个文档中具有相同ID的多个元素是无效的HTML-当您选择$('#ajax-event')
时,JQuery仅查看具有ajax-event
ID的第一个元素。删除重复ID(我在这里根本看不到任何ID的需要),然后使用您的(已经存在的)ajax-event
类:
function listenForEvent() {
$('.ajax-event').on('click', function(event) {
console.log('you just hit event')
event.preventDefault()
});
}