onclick属性在jquery-ui对话框中不起作用

时间:2014-10-18 20:40:25

标签: jquery-ui onclick jquery-ui-dialog

我知道我不应该在jQuery上使用“onclick”。无论如何我使用它的原因是存在预先存在的代码,其中按钮具有onclick属性以打开弹出窗口。我正在jquery对话框中创建一个新按钮,需要打开同一个目标。复制原始按钮的onclick属性,而不是试图从中获取URL并使用更好的处理程序,这更容易(我认为?)。

$insert = $(data).find('.button.compare:first'); // find the button in $(data). This already works.
$("#dialog").html('<button type="button" title="View List" class="button compare" onclick="' + $insert.clone().prop('onclick') + '")><span>View List</span></button>'); // get the onclick property - seems to work but button does nothing

$ insert是按钮的副本。我实际上稍后在页面中插入该副本,它在那里工作正常。但是我在jQuery-ui对话框中创建的新按钮不起作用。它没有打开一个新窗口。

编辑: 我只是注意到原始onclick属性和复制的属性之间存在差异。原文看起来像:

`onclick="popwin(....)"

副本添加了一些东西:

onclick="function onclick(event) { popwin(...)"

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我设法通过改变

来解决这个问题
$insert.clone().prop('onclick') 

$insert.clone().attr('onclick')

虽然我不确定为什么会有这种差异。