jquery mobile bind / live tap

时间:2011-12-06 11:28:32

标签: ios jquery-mobile

我正在尝试绑定点击事件无效:

$('label[for=p_divisionR]').bind('tap', function(){
    $('#propertyTypeDivision').parent().show();
    $("#propertyType").parent().hide(); 
    $("#propertyTypeDivisionRL").parent().hide(); 
    hideBedrooms();
});

我已经尝试使用.live('tap', fn),但这不起作用。但是,当在桌面上时,使用.live('click', fn)可以正常工作。

为什么click活动会有效但却无法点按?它正在使用jQuery mobile rc1在iPad上进行测试。

请参阅:

http://m.bentons.propertylogic.net/

2 个答案:

答案 0 :(得分:2)

您可以使用touchstart等其他活动以及点击。他们回应iOS中的safari触摸。这种方法对我有用。

$('#p_divisionR').live('click touchstart', function(){
    $('#propertyTypeDivision').parent().show();
    $("#propertyType").parent().hide(); 
    $("#propertyTypeDivisionRL").parent().hide(); 
    hideBedrooms();
});

答案 1 :(得分:1)

使用vclick在测试版期间,tap出现问题,他们的开发人员建议人们使用vclickvclick适用于移动设备和桌面设备。 Tap有时会触发多个事件。

$('#p_divisionR').live('change', function(){
    $('#propertyTypeDivision').parent().show();
    $("#propertyType").parent().hide(); 
    $("#propertyTypeDivisionRL").parent().hide(); 
    hideBedrooms();
});

编辑: http://jsfiddle.net/jostster/UHX5k/1/ 忘了你正在使用单选按钮。对于那些,您应该使用change而不是vclick