下面的脚本做什么我需要,除了IE8,它删除按钮,而不与任何东西代替它测试的所有浏览器。
背景
我已经工作的方法,以取代使用jQuery图像类型输入提交类型的输入。
首先,我有这个下面与FF和WebKit工作原理:
marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
jQuery('input#SearchButton').detach().attr('type', 'image').attr('src',theme_folder+'/style/images/search_button.png').insertAfter(marker);
marker.remove();
但这未能在所有6+版本,如果IE(它消除了按钮,但不与图像替换),所以我开发了IE浏览器下面的脚本:
marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
new_search = jQuery('<input id="SearchButton" value="Search" name="Searchbutton" type="image" src="'+theme_folder+'/style/images/search_button.png'+'" />')
jQuery(new_search).insertAfter('input#SearchButton');
jQuery('input#SearchButton').remove();
marker.remove();
我使用的HTML标记条件来过滤流量到相应的脚本流,所以使整个事情是这样的:
<!--[if IE]>
<script>
marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
new_search = jQuery('<input id="SearchButton" value="Search" name="Searchbutton" type="image" src="'+theme_folder+'/style/images/search_button.png'+'" />')
jQuery(new_search).insertAfter('input#SearchButton');
jQuery('input#SearchButton').remove();
marker.remove();
</script>
<![endif]-->
<![if !IE]>
<script>
marker = jQuery('<span class="marker"></span>').insertBefore('input#SearchButton');
jQuery('input#SearchButton').detach().attr('type', 'image').attr('src',theme_folder+'/style/images/search_button.png').insertAfter(marker);
marker.remove();
</script>
<![endif]>
关于你的脱离主题的注意事项,有很多按钮我需要改变,非IE脚本更快。 – 2011-05-04 10:56:14
虽然,可能不会比你修改的代码更快! – 2011-05-04 11:00:13
委托人是否将点击添加到body元素?我不太明白! – 2011-05-04 11:10:40