如何在动态生成的html页面中运行javascript?

时间:2013-08-29 11:53:09

标签: javascript jquery html ajax jquery-mobile

我有一个场景,用jquery mobile我创建一个listView的页面。我在数据库中有很多事件,我在我的网页中解析事件,然后创建一个带有html页面的列表视图,每个事件一个。我还在每个页面内创建一个独特的“订阅”按钮,以便用户可以订阅该事件(按钮的ID为sub1,sub2,sub3等。)

问题是我不知道如何访问按钮ID,因为我无法看到我如何在任何这些动态生成的页面中运行javascript。我想要做的是,如果用户在event1的页面中并按下sub1按钮,则订阅该事件。但我不知道数据库有多少事件,这意味着我不知道将创建多少页面。

2 个答案:

答案 0 :(得分:2)

使用类注册单击,然后将ID作为属性

为所有id=subX按钮提供课程sub-button,然后执行以下操作:

$('.sub-button').click(function() {
    subscribe($(this).attr('id'));
});

这会将点击按钮的ID传递给subscribe作为参数。

This demo将最后点击的按钮的ID打印到div

答案 1 :(得分:2)

您还可以在html中为每个按钮指定onclick方法

HTML:

<button id="subX" onclick="subscribeEvent(this)">Some Subscribe button</button>

JS:

window.subscribeEvent = function (element) {
    console.log(element.id);
}

Working fiddle