任何人都可以用我的代码解决我的问题(我刚从调试模式发现它)
<script type="text/javascript">
(function() {
var morphSearch = document.getElementById( 'morphsearch' ),
input = morphSearch.querySelector( 'input.morphsearch-input' ),
ctrlClose = morphSearch.querySelector( 'span.morphsearch-close'),
// ...
</script>
这不是我所有的代码,它很长,所以我只把它的第一行。
在调试模式下,我收到此错误:
TypeError:morphSearch.querySelector(...)为null
以下是生成的标记:http://pastebin.com/P6tfvcZS
这个问题有解决方案吗?
答案 0 :(得分:0)
发现了这个......
var offsets = morphsearch.getBoundingClientRect();
morphSearch是错误的情况,我认为它应该是......
var offsets = morphSearch.getBoundingClientRect();
我还将您的var
语句分开了。最后一个看起来像这样......
isOpen = isAnimating = false,
我不认为这是有效的,请尝试这样。
var morphSearch = document.getElementById( 'morphsearch' );
var input = morphSearch.querySelector( 'input.morphsearch-input' );
var ctrlClose = morphSearch.querySelector( 'span.morphsearch-close' );
var isOpen = false;
var isAnimating = false;
那些querySelector
似乎在起作用......
实际上,从上面的一方来看,我认为我找到了唯一不起作用的querySelector
。
尝试更改此内容......
morphSearch.querySelector( 'button[type="submit"]' ).addEventListener( 'click', function(ev) { ev.preventDefault(); } );
要...
morphSearch.querySelector( 'input.morphsearch-submit' ).addEventListener( 'click', function(ev) { ev.preventDefault(); } );
应该做的一切。