Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery Mobile-将事件处理程序分配给动态创建的按钮_Jquery_Mobile_Button_Jquery Mobile_Event Handling - Fatal编程技术网

JQuery Mobile-将事件处理程序分配给动态创建的按钮

JQuery Mobile-将事件处理程序分配给动态创建的按钮,jquery,mobile,button,jquery-mobile,event-handling,Jquery,Mobile,Button,Jquery Mobile,Event Handling,我从服务器返回一个json数组,然后循环遍历它并向页面添加按钮(data role=“button”)。我在每次迭代中调用$([data role='button']) 我的问题是,每个按钮都需要调用相同的事件处理程序,但id不同。 如果我在Java/GWT中这样做,我会将id传递给每个按钮的事件处理程序的自定义实现的构造函数 我如何在JQuery Mobile中实现同样的功能 下面的代码创建了这两个按钮,但当我单击它们时,什么也没有发生 这是我的密码: 成功:函数(数据){ $('#pers

我从服务器返回一个json数组,然后循环遍历它并向页面添加按钮(data role=“button”)。我在每次迭代中调用$([data role='button'])

我的问题是,每个按钮都需要调用相同的事件处理程序,但id不同。 如果我在Java/GWT中这样做,我会将id传递给每个按钮的事件处理程序的自定义实现的构造函数

我如何在JQuery Mobile中实现同样的功能

下面的代码创建了这两个按钮,但当我单击它们时,什么也没有发生

这是我的密码:

成功:函数(数据){
$('#personPage div[data role=“content”]”)。empty();
对于(变量i=0;i

当您添加按钮(构建要追加的html)时,还要添加一个数据id属性,该属性的值作为JSON数组中的id。因此html标记最终将如下所示:

<a data-role="button" data-id="1234">1234 Button</a>
var id = $(this).data('id');
就这样


请参阅阅读有关数据属性的更多信息。

谢谢您的回复。但是如何指定单击处理程序本身呢?我尝试了许多不同的方法,但都没有捕获点击事件。我已经在问题中添加了代码。$(document).delegate('a','click',function(event){var id=$(this.data('id');})@阿卡什布迪亚,你让我免于如此多的挫折。非常感谢。我知道这是一个老问题,但你的代码对我很有用
var id = $(this).data('id');