按下JQM列表中的按钮

时间:2013-01-03 07:20:39

标签: javascript jquery html5 listview jquery-mobile

我有一个JQM列表,以及列表中每个实例的按钮。

点击按钮,我打电话给... ...

function xxx()
{
    alert ('click on me!! :]');
}

点击按钮不触发功能,为什么?

请查看以下jsFiddle:http://jsfiddle.net/Hodaya/nR369/3/

3 个答案:

答案 0 :(得分:0)

要将xxx函数绑定到newLI DOM元素的click事件,您应该使用newLI.onclick=xxx;或更好地使用jQuery与$(newLI).click(xxx);进行绑定

答案 1 :(得分:0)

最后问题得到解决:

按下按钮不起作用,因为:

列表中的每个按钮都是相同的ID,在我为每个按钮添加一个唯一名称的那一刻,它就有效了。

这里是代码:

for (var i = 0; i < Local.length; i++) {
     newLI.innerHTML = '<a href="to.html" data-transition="slide" dir="rtl" onclick="YYY();" >' + 
                       '<p>...'</p>' +
                       '<a  id="btnClearOneBookmark' + i + '" data-role="button" data-icon="delete" data-theme="b"></a>' +
                      ' </a>';

        $("#btnClearOneBookmark" + i).click(function () { xxx(); });
}

答案 2 :(得分:0)

试试这个:

$("#mybutton").on('click',function() {
var ul = document.getElementById("bookMarkMenu");
for (var i = 0; i < 5; i++) {
    var newLI = document.createElement("LI");
    console.log(i)
        newLI.innerHTML = '<a href="to.html"  data-transition="slide" dir="rtl"><p>...</p>' +'<a id="btnClearOneBookmark" data-theme="b" data-role = "button"></a></a>';
    newLI.setAttribute('data-theme', 'c');
    newLI.setAttribute('onclick', 'DisplayBookMark()');
    ul.appendChild(newLI);
    $('ul').listview('refresh');
} 
});

$("#btnClearOneBookmark").live('click',function() {
    alert("click on me!! :]");
});