UIWebView - CSS-стилизация для кнопки ввода html - PullRequest
1 голос
/ 11 апреля 2011

У меня есть локальный загрузочный ресурс HTML в UIWebView. Я стилизовал этот HTML-документ, чтобы он выглядел как UITableView с некоторыми UIButton. До сих пор у меня был довольно хороший успех. Я просто пытаюсь заставить кнопку ввода типа = работать как кнопка UIB таким образом, чтобы она стала синей при нажатии на нее. К сожалению, я не знаю, как отключить или изменить стиль кнопки, которая становится сероватой (что по умолчанию работает в UIWebView) при нажатии на нее. Вот моя кнопка:

<input class="iPhoneStandardButton"
        onmousedown="changeStyle(this,'iPhoneStandardButton_press');" 
        onmouseup="changeStyle(this,'iPhoneStandardButton');" 
        type="button"
        value="My Button" />

Моя функция changeStyle (я доказал, что это работает):

function changeStyle(element, newClassName){
   element.setAttribute("class", newClassName);
}

И мой css:

.iPhoneStandardButton {
    width: 100%;
    height: 40px;
    background: #FFF;
    border-radius: 12px;
    border: 1px solid #CCC;
    font-size: 13;
    font-weight: bold;
    color: #000000;
    margin-bottom: 15px;
}
.iPhoneStandardButton_press{
    width: 100%;
    height: 40px;
    border: solid 1px #666666;
    background: #058CF5;
    background: -webkit-gradient(linear, left top, left bottom, from(#058CF5), to(#015DE6));
    background: -moz-linear-gradient(top,  #058CF5,  #015DE6);
    border-radius: 12px;
    font-size: 13;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 15px;
}

Я доволен стилями, это не относится к onmousedown. По-прежнему отображается как нажатие кнопки размытого серого цвета по умолчанию, которое UIWebView / safari применяет ко всем кнопкам.

Ответы [ 2 ]

0 голосов
/ 11 июня 2013

Попробуйте ontouchstart. В документации по iOS Safari перечислены onmousedown, но у меня это тоже не сработало, и использование ontouchstart устранило проблему. См. http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW7 для списка всех событий Javascript, которые Apple утверждает, что поддерживает.

0 голосов
/ 11 апреля 2011
<input class="iPhoneStandardButton"
        onclick="toggleStyle(this, 'iPhoneStandardButton', 'iPhoneStandardButton_press');" 
        type="button"
        value="My Button" />

function toggleStyle(element, defaultStyle, altStyle) {
    if (element.className == defaultStyle)
        element.className = altStyle;
    else
        element.className = defaultStyle;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...