0

我有一个 jQuery 函数,可以在桌面浏览器上正常工作,但在 iPad 或 iPhone 上会抛出错误。当我运行控制台以查找错误时,我收到此消息。对不起,我没有给你们太多的继续。如果您让我知道您在寻找什么,我可以提供更多信息。

编辑:我已禁用所有其他插件。请注意,此代码在计算机浏览器上运行良好,但在移动设备上却不行;特别是 iPad 和 iPhone。

EDIT_2:我刚刚在我的页面中找到了这段代码。如果浏览器来自移动设备,它似乎不会加载某些插件。新问题,我的主题是否有理由限制这些插件的加载?

var ismobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
        if(!ismobile){

            /** ONLY EXECUTE THESE CODES IF MOBILE DETECTION IS FALSE **/

            /* REQUIRED: Datatable PDF/Excel output componant */

            document.write('<script src="js/include/ZeroClipboard.min.js"><\/script>');
            document.write('<script src="js/include/TableTools.min.js"><\/script>');
            document.write('<script src="js/include/select2.min.js"><\/script>');
            document.write('<script src="js/include/jquery.excanvas.min.js"><\/script>');
            document.write('<script src="js/include/jquery.placeholder.min.js"><\/script>');

TypeError: 'undefined' is not a function (evaluating '$(".themed select.with-search").select2()')

这是它抱怨的代码:

$(document).ready(function(){
        setup_custom_form_elements();
    });

    function setup_custom_form_elements() {
            if ($('.themed').length) {
                $(".themed input[type='radio'], .themed input[type='checkbox'], .themed input[type='file'].file, .themed textarea").uniform();
                $(".themed select.with-search").select2();

                /* some demo buttons for select 2 */

                $("#disable-select-demo").click(function() {
                    $("#select-demo-js select").select2("disable");
                });

                $("#enable-select-demo").click(function() {
                    $("#select-demo-js select.with-search").select2();
                });

            }// end if
    }
4

1 回答 1

1

答案如下:如上所述,我的主题是限制插件源文件的加载。愚蠢的错误,我应该注意到它。我已将 Select2 插件从if(!mobile)声明中删除,现在一切正常。感谢所有的帮助家伙!

于 2013-10-14T08:45:47.410 回答