JQuery移动搜索输入图标

JQuery移动搜索输入图标,jquery,jquery-mobile,Jquery,Jquery Mobile,我想知道什么是最好的方法,使这个放大镜图标在点击按钮? 不改变JQuery框架 if( input.is('[type="search"],[data-type="search"]') focusedEl = input.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-search'+ themeclass +'"></div>').par

我想知道什么是最好的方法,使这个放大镜图标在点击按钮? 不改变JQuery框架

if( input.is('[type="search"],[data-type="search"]') 
focusedEl = input.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-search'+ themeclass +'"></div>').parent();

这就是它在框架中的映射位置

if( input.is('[type="search"],[data-type="search"]') 
focusedEl = input.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-search'+ themeclass +'"></div>').parent();
if(input.is('[type=“search”],[data type=“search”]”)
focusedEl=input.wrap(“”).parent();

我能说的最多的是一个以输入元素为主题的div。也就是说,您可能可以做以下两件事之一:

绑定到输入的包装,例如:

$('__INPUT_SELECTOR__') // grab the input field
  .closest('div')       // traverse up to the parent div
  .bind('click',function(){
    // grab the click event and make it a form submit
    $(this).closest('form').submit();
  });
或者,你去另一个方向:

$('div.ui-input-search') // find the div first
  .bind('click',function(){
    // now you have a click event on the div. Transfer it to the form's submit
    $(this).closest('form').submit();
  });
这取决于你想去的方向。(可能应该使用jquerymobile事件,而不是经典的jQuery事件(这样你就可以捕捉到figner的点击等)),而且,这应该被解释为伪代码,因为我不熟悉这个库,只是按照我所知道的

编辑
因此很明显,我意识到必须对DIV的click事件做更多的检查。您需要测试的是实际在DIV上执行的单击,而不是导致DIV事件触发的输入。

只是为了避免“这不起作用”的评论而把它扔出去。这就是为什么它是伪代码。

使用javascript黑客做任何事情都会破坏整个想法

只需创建一个普通的submit按钮并用
包装它,然后在最后用
!important
修改一些CSS规则,覆盖jqm创建的元素的jQuery移动按钮样式,以替换submit按钮(用firebug检查它,以掌握在那里创建的内容) 最后,如果你想让tit在支持率不高的浏览器中看起来不错,你就必须得到其中一个,并添加另一个CSS规则

完成。有一个按钮用于不受支持的浏览器,它通过CSS增强为一个放大镜。适用于任何地方