2010-11-10 2 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

что jqtouch – kobe

+0

@gov это библиотека JQuery для создания веб-сайтов для Айфона: http://jqtouch.com/ – mpapis

+0

@mappis спасибо за информацию. – kobe

ответ

-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

+0

Я, наконец, нашел в соответствующей статье лучшее решение, но так как это было не просто голосом. – mpapis

11

Существует малоизвестный трюк для этого, с помощью CSS:

метка {курсор: указатель; }

И он будет работать на iPhone и iPad.

+5

Это заслуживает искренней WTF! – pstadler

+3

Это не работает во всех случаях. Я попробовал это, чтобы найти, что свойство уже определено. :( –

+0

это не работает на iOS7 – Nilesh

2

добавить OnClick = "" на этикетке

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

да, user693942 CSS трюк достаточно, на самом деле, это работает!

label { cursor: pointer; } 
+1

это похоже на ошибку, изменение курсора не должно меняться при распространении событий - возможно, оно выглядит короче/приятнее - но это не похоже на правильное решение (используя ошибку для устранения ошибки) , – mpapis

Смежные вопросы