TextBoxes赢得'不要集中注意力

TextBoxes won't take focus

本文关键字:集中 注意力 赢得 TextBoxes      更新时间:2023-09-26

我在Ripple Emulator中遇到了一个非常奇怪的问题,其中文本框无法聚焦。。。或者至少它看起来没有聚焦(一旦我点击它,它就没有光标闪烁)。然而,如果我开始打字,然后点击文本框外,文本框的内容会突然更新,以反映我键入的内容。

这似乎与css、AngularJS和Ionic Framework的结合有关。

我有下面的HTML(这在plunkr中无法复制)

<ion-view>
    <ion-nav-buttons side="left">
        <button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
    </ion-nav-buttons>
    <ion-content class="has-header">
        <div style="margin-top: 20px;">
            <label class="item item-input">
                <span class="input-label">Date</span>
                <input type="date" ng-change="search()" ng-model="filter.date">
            </label>
            <label class="item item-input">
                <span class="input-label">Only Unscheduled</span>
                <ion-checkbox ng-change="search()" style="border: none"
                              ng-model="filter.onlyUnscheduled"></ion-checkbox>
            </label>
            <label class="item item-input">
                <button class="button button-positive" ng-click="clearMatches()">Clear Matches</button>
            </label>
            <label class="item item-input">
                <button class="button button-positive" ng-click="makeTestUsersPlay()">Make Test Users Play</button>
            </label>
            <label class="item item-input">
                <button class="button button-positive" ng-click="makeTestDate()">Make Test Date</button>
            </label>
        </div>
        <ion-list>
            <ion-item ng-repeat="item in dates track by $index" style="padding: 0; padding-top: 10px;">
                <form novalidate="novalidate" on-valid-submit="save(item)">
                    <div>
                        <div class="item item-divider" style="text-align: center; margin-bottom: 20px">
                            {{item.description}}{{item.isCancelled ? ' (Cancelled)' : ''}}
                        </div>
                        <label class="item item-input">
                            <span class="input-label">Location</span>
                            <input type="text" ng-model="item.location" name="location">
                        </label>
                        <label class="item item-input">
                            <span class="input-label">Time</span>
                            <input type="time" ng-model="item.time" name="time">
                        </label>
                        <div class="padding">
                            <button type="submit" class="button button-energized">
                                Save
                            </button>
                            <div style="width: 75px; padding: 0" ng-click="charge(item, item.userId1)"
                                 ng-disabled="item.user1ChargeId"
                                 class="button button-energized">
                                Charge 1
                            </div>
                            <a style="width: 75px; padding: 0" ng-click="charge(item, item.userId2)"
                               ng-disabled="item.user2ChargeId"
                               class="button button-energized">
                                Charge 2
                            </a>
                        </div>
                    </div>
                </form>
            </ion-item>
        </ion-list>
    </ion-content>
</ion-view>

如果我从所有按钮中删除按钮和按钮正类,它会突然像预期的那样工作。

更新:

这里是ionic.css的来源,所有的样式都可以在这里找到

http://code.ionicframework.com/nightly/css/ionic.css

如果我将按钮类更改为:

.button{
    min-height: inherit;
    min-width: inherit;
    padding: inherit;
    line-height: inherit;
}

问题消失了。这向我暗示了一个浏览器渲染错误,它与按钮试图溢出界外或其他什么有关。

老问题,但值得回答。你检查过css颜色属性了吗。它可能被设置为白色,使其不可见。

您可以在html文件中使用HTML5 autofocus属性:

First name: <input type="text" name="fname" autofocus>

现在,页面加载后,焦点将设置在此输入元素上。