【发布时间】:2017-01-21 21:35:28
【问题描述】:
我已经下载了一个隐藏搜索栏的源代码,当点击它时,会显示一个文本输入栏。
我已将此 html 复制到我的 homepage.html:
<div id="reserveButtonOuter">
<button id="reserveButton">Reserve a Table</button>
</div>
<div id="sb-search" class="sb-search">
<form>
<input class="sb-search-input" placeholder="Enter your search term..." type="search" value="" name="search" id="search">
<input class="sb-search-submit" type="submit" value="">
<span class="sb-icon-search"></span>
</form>
</div>
这已连接到我的HomePage.js 文件,其中我有以下代码:
;( function( window ) {
function UISearch( el, options ) {
this.el = el;
this.inputEl = el.querySelector( 'form > input.sb-search-input' );
this._initEvents();
}
UISearch.prototype = {
_initEvents : function() {
var self = this,
initSearchFn = function( ev ) {
if( !classie.has( self.el, 'sb-search-open' ) ) { // open it
ev.preventDefault();
self.open();
}
else if( classie.has( self.el, 'sb-search-open' ) && /^\s*$/.test( self.inputEl.value ) ) { // close it
self.close();
}
}
this.el.addEventListener( 'click', initSearchFn );
this.inputEl.addEventListener( 'click', function( ev ) { ev.stopPropagation(); });
},
open : function() {
classie.add( this.el, 'sb-search-open' );
},
close : function() {
classie.remove( this.el, 'sb-search-open' );
}
}
这只是代码的一小部分,因为它有几百行。 .css 文件很好地链接到我的页面,因为它适用于我的其他元素。搜索栏仅呈现为橙色方块,单击时不会在控制台上显示任何错误。我不确定这对 Javascript 意味着什么?
任何建议都会很棒,谢谢!
【问题讨论】:
-
一个建议是找到一种方法将您的问题缩小到更具体的问题。可以用几行来回答的问题...阅读您的问题,我终于明白该插件(我们不知道,因为您甚至没有命名它)没有正确呈现。您是否按照插件安装说明进行操作?你对它做了一些改变吗?在指责某些语言功能之前,您必须证明您知道自己在做什么......而您现在的问题并没有解决。
标签: javascript jquery html css