2010-11-10 55 views
3

不可点击有了下面的代码,我不能在jqtouch点击标签(在iPhone模拟器和iPhone本身):标签在jqtouch

<ul class="rounded"> 
    <li> 
    <label for="user_name">Name</label> 
    <input type="text" name="user_name" id="user_name"/> 
    </li> 
</ul> 

它在野生动物园的工作很好,我已经在演示还检查了这jquery-mobile和它在iphone模拟器上工作,所以问题接缝严格jqtouch特定。

+0

@gov它是用于创建iphone的网站jQuery库是什么jqtouch – kobe 2010-11-10 08:31:55

+0

:http://jqtouch.com/ – mpapis 2010-11-10 08:34:53

+0

的信息@mappis感谢。 – kobe 2010-11-10 08:44:46

回答

-1

感谢@Ivan我找到了更好的解决方案:

$('label[for],input[type="radio"]').bind('click', function(e) { 
    e.stopPropagation(); 
    }); 

此外它修复单选按钮。

唯一的缺点是 - 它停止传播,但在我的情况下,它是可以的。

1
+0

我已经有类似的修复,但很难相信'Mobile Safari'不支持这个明显的功能: $('label [for]')。bind('click',function(){ var $ target = $('#'+ $(this).attr('for')); $(':focus')。blur(); if($ target [0] .type ==='radio'){ $ target [0] .checked = true; } else { $ target [0] .focus(); } }); – mpapis 2010-11-10 12:06:21

+0

我终于在相关文章中找到了一个更好的解决方案,但因为它不是直的只有投票。 – mpapis 2010-11-10 12:24:08

11

有一个模糊的特技对于这一点,使用CSS:

标签{光标:指针; }

它可以在iPhone和iPad上使用。

+5

这值得一个真诚的跆拳道! – pstadler 2012-01-17 15:59:12

+3

这似乎不适用于所有情况。我去试试这个只是为了发现该属性已经定义。 :( – 2013-08-26 20:45:24

+0

这不适用于iOS7 – Nilesh 2014-07-08 21:34:51

2

添加的onclick = “” 的标签

<label for="blah" onclick="">blah</label> 
-1

呀,user693942 CSS技巧是不够的,其实,它的工作原理!

label { cursor: pointer; } 
+1

这看起来像一个错误,改变光标不应该改变事件的传播 - 可能看起来更短/更好 - 但它似乎不是正确的解决方案(使用错误来解决bug) 。 – mpapis 2013-06-20 15:42:02