手机和平板电脑输入表单的触摸问题

问题描述 投票:0回答:0

我的网站在 iframe 弹出窗口中打开文章。我的问题是表单的输入字段(在手机和平板电脑上)在这个弹出页面上不起作用。

例如,当用户想在评论区写东西时,触摸输入区不起作用,输入表单没有被激活。 这几天我一直在寻找这个问题的解决方案,但我还没有成功。

尽管在另一个站点上,我看到一个用户遇到了几乎相同的问题,并且网页设计公司提供了解决方案,您可以在我的附图中看到。

现在我在我的网站上发现了一些类似的代码,但由于我不是 JavaScript 程序员,所以我不知道如何更改我的代码。 如果您了解 javascript,您可能知道如何以正确的方式更改“我的代码”?或者如果您知道解决此问题的任何其他方法?

这是我的代码:

//function check iframe popup load to resize
        function ifmOnload(){
            if(this.src == 'about:blank'){
                return;
            }
            
            $(document.body).addClass ('popupview-loaded');
            
            var doc = this.contentDocument ? this.contentDocument : window.frames[this.id].document,
                ifm = this;
            
            if (doc.readyState && doc.readyState != 'complete'){
               return;
            }

            if (doc.body && doc.body.innerHTML == "false"){
                return;
            }
            
            this.height = $(doc).height();
            
            if(window.popupIscroll){
                window.popupIscroll.destroy();
            }

            window.popupIscroll = new iScroll('popup-inner', {vScrollbar: true, hScrollbar: false, scrollbarClass: 'popupTracker', useTransform: false, scroller: (isTouch ? doc.getElementById('container') : null) });
            
            if(isTouch){
                $(doc).bind('touchmove.scroll', function(e){
                    e.preventDefault();
                });
            } 

            if($.browser.webkit || $.browser.safari ||$.browser.opera || $.browser.mozilla || ($.browser.msie && $.browser.version >= 9)){
                $(doc).bind('mousewheel.iscroll', $.proxy(window.popupIscroll._wheel, window.popupIscroll));
            } else if($.browser.msie && $.browser.version < 9){
                
                var script = doc.createElement('script');
                script.src = JADef.tplurl + 'js/scrollevent.js';
                doc.body.appendChild(script);
            }
            
            $(doc.body).find('a').each(function(){
                if($(this).attr('target') != '_blank'){
                    $(this).attr('target', '_parent');
                }
            });
        };

A possible way to solve the problem on this image. now, how to change my code?

我必须提一下,我只在“Iframe Popup”和“移动设备”中遇到这个问题。 如果我在新窗口(没有弹出窗口)或 PC 中打开文章,我看不到这个问题。

javascript jquery iframe jquery-mobile popup
© www.soinside.com 2019 - 2024. All rights reserved.