【问题标题】:jqm listview onclick still following hrefjqm listview onclick 仍然关注href
【发布时间】:2023-04-05 13:25:08
【问题描述】:

我有一个 Jquery Mobile 列表视图,每个列表项中的链接旁边都有一个删除按钮。当我单击删除按钮时,会触发 onclick 事件,删除函数会运行,但随后也会跟随 href,即使该按钮未嵌套在 href 中。我已将 return false 添加到按钮以查看是否有帮助,但没有!帮助!

这是我用来动态填充我的列表的代码......

$('#roomsList').append('<li><img src="img/delete-2x.png" class="delete" onClick="deleteRoom(\'' + currentRow.roomtype + '\',\'' + propertyID + '\'); return false;" /><a href="inventory.html?roomtype='+currentRow.roomtype+'&id='+propertyID+'" id="'+currentRow.roomtype+'">' + currentRow.roomtype + '</a></li>');

【问题讨论】:

    标签: javascript jquery listview cordova jquery-mobile


    【解决方案1】:

    应该没有问题。看这个例子:http://jsfiddle.net/Gajotres/WEmNG/。我两天前为其他人创建了它,但它与您的问题相似。我在列表视图上显示自定义复选框,而不是删除按钮。如果您单击列表视图,它会将您转发到另一个页面,但如果您单击自定义复选框,它只会激活 chechbox 上的事件。

    使用我的示例在列表视图上创建一个有效的删除按钮。

    这是我在自定义复选框上使用的事件示例:

    $('.checkBoxLeft').bind('click', function(e) {
       if($(this).find('input[type="checkbox"]').is(':checked')){
           $(this).removeClass('checked').addClass('not-checked');
           $(this).find('input[type="checkbox"]').attr('checked' , false);
       } else {
           $(this).removeClass('not-checked').addClass('checked');             
           $(this).find('input[type="checkbox"]').attr('checked' , true);
       }
    });
    

    【讨论】:

    • 我可以看到这对你有用,但只要我用图像替换复选框,它就会跟随 href。我很困惑!
    • 将图像包裹在 DIV 中。将 DIv 设置为绝对位置,将其浮动到正确的位置。我认为这会避免你的问题。
    【解决方案2】:

    将 a 和 li 都附加到父级[将它们放在同一级别]。通过这种方式,它们应该很容易工作。

    【讨论】:

    • 你的意思是把图片标签和a标签放在同一层吗?这就是已经发生的事情。我尝试将图像从 li 标签中取出,如下所示,但随后它就消失了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多