菜鸟教程小白 发表于 2022-12-13 08:07:17

jquery - iOs 跳转包含 INPUT 的固定页脚


                                            <p><p>我有一个 phoneGap-cordova 应用程序。其中我有一个页面有一个固定的输入页脚,但是每当在移动设备中打开软键(键盘)时,固定元素就会失去其位置并向上跳跃,</p>

<p>我已经看到了很多相同的解决方案,但没有运气。 </p>

<p>这是我的页面css:</p>

<pre><code>.main {
display: table;
border-spacing:0px;
margin-top:10px;
margin-left: 18px;
margin-right: 10px;
height: auto;
   }

.imageIcon {
display: table-cell;
vertical-align:top;
cursor: pointer;
}
.contentDiv {
display: table-cell;
vertical-align: middle;
padding-left:12px;
width:100%;
}
.nameAndId {
/* background-color: aqua; */
margin-top:6px;
font-family: Roboto-medium;
font-size: 13px;
}
.commentDetails {
    margin-top: 5px;
    font-size: 12px;
    word-break: break-word;
}
.ID
{
    font-size: 12px;
    display:inline;
}
.updateTime {
float: right;
margin-top: 16px;
font-family: Roboto-light;
    font-size: 12px;
color:#767676;
}

.footerClass
{   background:#ffffff;
    position:device-fixed;
    bottom:0px;
    padding: 16px 0px;
    width:100%;
    display:-webkit-box;
    -webkit-box-orient:horizontal;
    }

.cameraImage
{

    width:initial;
    margin-left: 18px;
    cursor: pointer;


}

.inputComment
{

    margin-left: 10px;
    -webkit-box-flex:1;
    margin-right:10px;
    padding-right:10px;
}

.inputCommentTextBox
{
    width:100%;
    outline: 0;
    border-left:0px;
    border-right:0px;
    border-top:0px;
    border-bottom-width: 1px;
    border-bottom-color:#767676;
    background-color: transparent;
    border-bottom-left-radius:5px;
    border-bottom-right-radius:5px;

}

.postImage
{

    width:initial;
    cursor: pointer;
    margin-right: 10px;


}
</code></pre>

<p>HTML:</p>

<pre><code>&lt;div id=&#34;mainComment&#34; style=&#34;background-color:#ffffff; height:auto;padding-top:1px; padding: 1px 0px 20px;overflow-x:hidden;&#34; &gt;
    &lt;div style=&#34;background-color:#ededed;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;&#34;&gt;
      &lt;div style=&#34;-webkit-box-flex:1;-webkit-flex:1 100%;-ms-flex:1 100%;flex:1 100%;text-align: center;-webkit-align-self: center;-ms-flex-item-align: center;align-self: center;padding-top:4px;padding-left: 20px;&#34;&gt;Comments&lt;/div&gt;
      &lt;div class=&#34;cameraImage showPen&#34;&gt;&lt;img data-ng-click=&#34;returnBack()&#34; style=&#34;width: 35px;height: 35px;padding: 10px;&#34; src=&#34;close.png&#34; alt=&#34;Camera Image&#34;/&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;div data-ng-repeat=&#34;name in names&#34; &gt;

      &lt;divclass=&#34;main&#34; style=&#34;background:#ffffff;padding: 10px;&#34;&gt;
            &lt;div class=&#34;imageIcon&#34;&gt;&lt;img style=&#34;height:56px;width:56px;&#34;src=&#34;user.png&#34; alt=&#34;UserMale&#34; /&gt;&lt;/div&gt;
            &lt;div class=&#34;contentDiv&#34;&gt;      
                  &lt;div class=&#34;nameAndId&#34;&gt;{{name}},&lt;p class=&#34;ID&#34;&gt; {{xyz}}&lt;/p&gt;&lt;/div&gt;
                  &lt;div class=&#34;commentDetails&#34;&gt;{{abc}}&lt;/div&gt;
                  &lt;div class=&#34;updateTime timeago&#34; title=&#34;&#34; &gt;{{yzk}} ago&lt;/div&gt;
            &lt;/div&gt;
      &lt;/div&gt;
      &lt;/div&gt;

    &lt;div id=&#34;footerId&#34; class=&#34;footerClass&#34; &gt;
            &lt;div class=&#34;cameraImage showPen&#34; data-ng-show=&#34;false&#34;&gt;&lt;img data-ng-click=&#34;returnBack()&#34; style=&#34;width:20px;height:20px;&#34; src=&#34;close.png&#34; alt=&#34;Camera Image&#34;/&gt;&lt;/div&gt;
            &lt;div class=&#34;inputComment&#34;&gt;&lt;input onfocus=&#34;this.value = this.value;&#34; id=&#34;commentBox&#34; data-ng-model=&#34;commentData&#34; type=&#34;text&#34; placeholder=&#34;Write your Comment&#34; class=&#34;inputCommentTextBox&#34;&gt;&lt;/div&gt;
            &lt;div class=&#34;postImage&#34;data-ng-show=&#39;postSelector&#39;&gt;&lt;imgstyle=&#34;width:26px;height:22px;&#34; src=&#34;send.png&#34; alt=&#34;Search Image&#34;/&gt;&lt;/div&gt;
            &lt;div class=&#34;postImage&#34; data-ng-show=&#39;loadMoreContentComment&#39;&gt;

            &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>所以每当我将焦点放在固定的页脚中的输入上时,它就会从其位置移位并向上移动。 </p>

<p>请给我建议解决方案,因为我已经经历了很多解决方案,但还没有运气。</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>试试这个</p>

<pre><code>$(&#34;input&#34;).on(&#34;focus&#34;, function(event){
    if(event.handled !== true)
    {
      $(&#34;.footerClass&#34;).css({ &#39;position&#39;: &#39;absolute&#39; });
      $(&#34;.footerClass&#34;).css(&#39;display&#39;, &#39;none&#39;);      
    }
    return false;
});

$(&#34;input&#34;).on(&#34;blur&#34;, function(event){
   if(event.handled !== true)
   {      
      if(!$(&#34;input&#34;).is(&#34;:focus&#34;)){
          $(&#34;.footerClass&#34;).css({ &#39;position&#39;: &#39;fixed&#39; })
          $(&#34;.footerClass&#34;).css(&#39;display&#39;, &#39;block&#39;);         
      }
   }
   return false;
});
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于jquery - iOs 跳转包含 INPUT 的固定页脚,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30908683/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30908683/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: jquery - iOs 跳转包含 INPUT 的固定页脚