jquery库和mootoos库同时使用问题,闭包出现报错了


网页中同时导入2种js库,并且加上了 var jquery = $.noConflict(true); 但是页面中报错了


 <div style="float: right; padding-right: 12px;" class="headerseach">
<form async="false" id="searchbar_3949" method="post"
    action="http://www.bbready.com/search-result.html"><a
    id="asubmit" href="javascript:void(0);"><img
    src="http://img.bbready.com/themes/yibeite/818pro/images/seach.gif"></a>
<input type="text" autocomplete="off" data-autocompleter="" value=""
    name="search_keywords" id="search_keywords"/></form>
<script>
    (function(scope) {
        scope.getElementById('asubmit').addEvent('click', function(e) {
            if (scope.getElement('input').value.trim() === '') {
                e.stop();
            } else {
                document.getElementById('searchbar_3949').submit();
            }
        });

        var search_keywords = decodeURIComponent(Memory.get('search_key'));
        if (search_keywords == 'null') {
            search_keywords = '';
        }
        //scope.getElement('input[name=search_keywords]').value = search_keywords;

    })($('searchbar_3949'));




        jquery("#search_keywords").autocomplete({
        minChars: 1,
        url: 'index.php?c=Search&a=getKeyWords',
        sortFunction: function(a, b, filter) {
            var f = filter.toLowerCase();
            var fl = f.length;
            var a1 = a.value.toLowerCase().substring(0, fl) == f ? '0' : '1';
            var a1 = a1 + String(a.data[0]).toLowerCase();
            var b1 = b.value.toLowerCase().substring(0, fl) == f ? '0' : '1';
            var b1 = b1 + String(b.data[0]).toLowerCase();
            if (a1 > b1) {
                return 1;
            }
            if (a1 < b1) {
                return -1;
            }
            return 0;
        },
        showResult: function(value, data) {
            return '<span style="color:red">' + value + '</span>';
        },
        onItemSelect: function(item) {
            var text = 'You selected <b>' + item.value + '</b>';
            if (item.data.length) {
                text += ' <i>' + item.data.join(', ') + '</i>';
            }
            jquery("#last_selected").html(text);
        },
        mustMatch: true,
        maxItemsToShow: 5,
        selectFirst: false,
        autoFill: false,
        selectOnly: true,
        remoteDataType: 'json'
    });






</script></div>

chrome控制台报错了: Uncaught TypeError: undefined is not a function 说的是 ($('searchbar_3949')); 这个闭包调用函数

jquery web前端开发 程序员 html5 JavaScript

zxcvb 10 years, 2 months ago

你获取id是不是少了个#号?

约束之青鸟 answered 10 years, 2 months ago

Your Answer