我有Ruby/Rails代码,它可以根据DB拉来生成一组链接。生成的链接看起来是这样的:通过DOM对象循环点击
<a href="/show_device_dialog" id="show_device_dialog_1">Call Customer 1</a>
<br />
<a href="/show_device_dialog" id="show_device_dialog_28">Call Customer 28</a>
<br />
当用户点击一个临客,我想弹出打开一个对话框,在移动之前,以验证几个选项。为此,我试图使用UJS来捕获'click'事件。我所做的是使用包含“show_device_dialog_”的“id”解析“A”对象的内容,然后尝试钩住弹出对话框的功能。现在
,我是相当新的这一点,所以我用蛮力做一点吧:
$(document).ready ->
console.log "building show_device_dialog..."
$("a[id^='show_device_dialog_']").each ->
console.log "...loop..."
@click (e) ->
dialog_form = undefined
url = undefined
dialog_form = undefined
url = undefined
url = $(this).attr("href")
dialog_form = $("<div id=\"dialog-form-"[email protected]+"\">Loading form...</div>").dialog(
autoOpen: false
width: 520
modal: true
open: ->
$(this).load url + " #content"
close: ->
$("#dialog-form"[email protected]).remove()
)
dialog_form.dialog "open"
e.preventDefault()
console.log "...done*"
当加载页面时,在控制台上我看到:
building show_device_dialog... contacts.js:3
...loop... contacts.js:5
...done* contacts.js:28
...loop... contacts.js:5
...done* contacts.js:28
这表明这两个链接正在被发现和处理。但是,会发生的情况是链接似乎没有与它们关联的“点击”触发器。另外,虚假的新浏览器窗口会打开,就像其中一个链接已被点击一样。
弹出代码本身,没有多链接搜索块,工作正常,并验证做我想做的。所以,我认为问题在于我如何处理“找到的”DOM对象。
有人能指出我正确的方向我的错误在哪里吗?
谢谢。我完全错过了。回答正确,解决问题,并愉快接受。 – MichelV69