IE7 input:focus

Вы можете реализовать это, создав класс UITableViewHeaderFooterView , который является подклассом UIView Вам также необходимо создать отдельный XIB, так как он не будет создан автоматически с помощью UITableViewHeaderFooterView создание.

Зарегистрируйте Nib с табличным представлением

[self.tblCart registerNib:[UINib nibWithNibName:@"CartHeaderView" bundle:nil] forHeaderFooterViewReuseIdentifier:@"CartHeader"];

Теперь вы можете получить доступ к нему в viewForHeaderInSection

-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

    CartHeaderView *sectionHeader=[tableView dequeueReusableHeaderFooterViewWithIdentifier:@"CartHeader"];
 return sectionHeader;
}

Примечание. Чтобы установить цвет фона, вам необходимо создать подпредставление с тем же фреймом, что и заголовок раздела, и задайте цвет для этого вида.

вы можете следовать

Изменение цвета фона в UITableViewHeaderFooterView, загруженном из xib, говорит, что вместо него следует использовать contentView.backgroundColor

7
задан artlung 9 June 2009 в 04:33
поделиться

3 ответа

Известный ответ на эту проблему - использование следующего кода:

    sfFocus = function() {
    var sfEls = document.getElementsByTagName("INPUT");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onfocus=function() {
            this.className+=" sffocus";
        }
        sfEls[i].onblur=function() {
            this.className=this.className.replace(new RegExp(" sffocus\\b"), "");
        }
    }}
if (window.attachEvent) window.attachEvent("onload", sfFocus);

А вот стиль css

input:focus, input.sffocus{background-color:#DEEFFF;}

Проблема в том, что IE вообще не распознает этот стиль.

РЕДАКТИРОВАТЬ: Вы можете найти решение, используя прототип здесь: http://codesnippets.joyent.com/posts/show/1837

12
ответ дан 6 December 2019 в 05:49
поделиться

Я понимаю желание не добавлять события, но в данном случае это выглядит так MSIE7 в этом вопросе придурок, и его нужно взламывать. В своем комментарии к @ Ape-inago вы указываете, что используете jQuery. Вот решение в jQuery. Я тестировал это в MSIE 6 и 7, и похоже, что он делает то, что вы хотите.

<script type="text/javascript">
$(document).ready(function(){
    if (jQuery.browser.msie === true) {
        jQuery('input')
            .bind('focus', function() {
                $(this).addClass('ieFocusHack');
            }).bind('blur', function() {
                $(this).removeClass('ieFocusHack');
            });
    }

});
</script>
<style>
input:focus, input.ieFocusHack
{
    border-width: 2px;
    border-color: Blue;
    border-style: solid;
}
</style>
14
ответ дан 6 December 2019 в 05:49
поделиться

ПОЧТИ работает

Проблема заключается в том, что когда рассматриваемый элемент имеет фокус, и вы открываете другое окно, а затем возвращаетесь на страницу с этим элементом на нем, он оформлен неправильно: (

0
ответ дан 6 December 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: