dra*_*fly 5 jquery jquery-selectors
$( "输入[类型= '按钮'] [^的onclick = '保存']")
它适用于FF,但在IE上...
onclick选择器部件有问题.有没有办法让跨浏览器解决?
谢谢帕维尔
编辑:
$("img[src$='scroll.gif']").click(function(){
var targetOffset = $("input[type='button'][onclick^='save']").offset().top;
$("html,body").animate({scrollTop: targetOffset}, 400);
});
Run Code Online (Sandbox Code Playgroud)
应该是这样的:
$("input[type=button]").click(function(){
//do something
});
Run Code Online (Sandbox Code Playgroud)
你应该把它放在文件就绪功能中
编辑是你想要的吗?
$('img[src="scroll.gif"]').click(function(){
var targetOffset = $(this).offset().top;
$("html,body").animate({scrollTop: targetOffset}, 400);
});
Run Code Online (Sandbox Code Playgroud)
您可以创建一个自定义选择器(但可能效率很低):
$.extend($.expr[':'], {
onclick: function(node, index, args, stack) {
var events = $(node).data('events');
var fn = args[3];
if (!events || !events.click) return false;
for (i in events.click) {
if (events.click[i].name == fn) return true;
}
return false;
}
});
$("input[type='button']:onclick('save')")
Run Code Online (Sandbox Code Playgroud)
function.name但在 IE 中不起作用,因此您必须使用 toString() 和正则表达式跳过另一个钩子。总而言之,您最好手动维护事件处理程序名称列表。
编辑:查看您的代码片段,似乎根本没有理由搜索事件处理程序。不要乱扔属性选择器,而是使用类和 id 以语义上有意义的方式来寻址元素,例如
<img id="scroll-icon" src="icons/scroll.gif" />
<input id="submit-button" type="submit" onclick="save();" />
Run Code Online (Sandbox Code Playgroud)
进而
$("#scroll-icon".click(function(){
var targetOffset = $("submit-buttton").offset().top;
$("html,body").animate({scrollTop: targetOffset}, 400);
});
Run Code Online (Sandbox Code Playgroud)