-1

我想用javascript动态添加一个事件触发器(onClick)。-在运行时。我有一个动态的按钮计数,每次单击按钮时,我都需要一个特定的 javascript 函数。

我有想法用 javascript 添加 javascript 函数。

我尝试了一些例子:

document.getElementById("trigger").innerHTML = "<script type=\"text/javascript\">function testal() { alert(\"trigger\"); }<\/script>";

如果我按下带有 onClick="testal()" 的按钮:错误消息:“未定义”

4

4 回答 4

0
document.getElementById("trigger").onclick = testal;
function testal() { alert('trigger'); }

如果您事先不知道要为什么事件注册处理程序(onclick、onkeydown、onkeypress 等),您可以执行以下操作:

var event_type = 'onclick';
document.getElementById('trigger')[event_type] = testal;

另见http://www.quirksmode.org/js/events_tradmod.html

于 2013-06-12T11:06:24.610 回答
0
innerHTML is Not JavaScript.

实际上,这会导致脚本注入。

于 2013-06-12T10:04:54.510 回答
0

我想你想使用jquery .on 方法。尝试这个

$(document).off('click', 'button');
$(document).on('click', 'button', function() {
    alert('Executed');
});

如果您不知道要在单击按钮时注册哪个事件处理程序,您可以在匿名处理程序中编写您的逻辑。

于 2013-06-12T11:18:56.520 回答
-2

我解决了

$("#trigger").html("<script type=\"text/javascript\">function testal() { alert(\"trigger\"); }<\/script>");
于 2013-06-12T10:55:15.557 回答