一个关于IE和FireFox中JS调用的问题
请认真听题:假设html页面中有一个控件A,我需要在js里面调用A控件的click();IE中可以直接这样使用:document.getElementById('A')....
请认真听题:假设html页面中有一个控件A,我需要在js里面调用A控件的click();IE中可以直接这样使用:document.getElementById('A').click();但不兼容火狐。所以,就是这个问题咯!火狐中的写法是怎样的?
展开
5个回答
展开全部
您好!很高兴为您答疑!
建议使用jquery的each方法,该方法可以遍历对象下所有符合条件的子对象,然后可以进行任何你希望的操作。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
建议使用jquery的each方法,该方法可以遍历对象下所有符合条件的子对象,然后可以进行任何你希望的操作。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
展开全部
这个有点复杂。可以看看以下的文章:
http://www.jb51.net/article/21711.htm
如果楼主并不想用那样的方案。我觉得不妨换个思路,比如把那个控件转换成按钮,或者直接执行click绑定的事件。
http://www.jb51.net/article/21711.htm
如果楼主并不想用那样的方案。我觉得不妨换个思路,比如把那个控件转换成按钮,或者直接执行click绑定的事件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<input type="button" id="testbtn1" value="aaaa"/>
<input type="button" id="testbtn2" value="bbbb"/>
<script type="text/javascript" >
var testbtn1 = document.getElementById('testbtn1');
var testbtn2 = document.getElementById('testbtn2');
//火狐3.0和 Chrome 浏览器 click()不支持方法改进
function invokeClick(element){
if(element.click){
element.click(); //判断是否支持click() 事件
}else if(element.fireEvent){
element.fireEvent('onclick'); //触发click() 事件
}else if(document.createEvent){
var evt = document.createEvent("MouseEvents"); //创建click() 事件
evt.initEvent("click", true, true); //初始化click() 事件
element.dispatchEvent(evt); //分发click() 事件
}
}
//事件添加通用方法
addHandler = function(element,type,handler){
if(element.addEventListener){ // !IE
element.addEventListener(type,handler,false);
} else if(element.attachEvent){ // IE
element.attachEvent('on'+type,handler);
} else { //DOM0级
element['on'+type] = handler;
}
};
//按钮aaaa的单击事件
addHandler(testbtn1,'click',function(){
alert('testbtn1 click!');
});
//按钮bbbb的单击事件
addHandler(testbtn2,'click',function(){
// testbtn1.click();
invokeClick(testbtn1);
});
</script>
<input type="button" id="testbtn2" value="bbbb"/>
<script type="text/javascript" >
var testbtn1 = document.getElementById('testbtn1');
var testbtn2 = document.getElementById('testbtn2');
//火狐3.0和 Chrome 浏览器 click()不支持方法改进
function invokeClick(element){
if(element.click){
element.click(); //判断是否支持click() 事件
}else if(element.fireEvent){
element.fireEvent('onclick'); //触发click() 事件
}else if(document.createEvent){
var evt = document.createEvent("MouseEvents"); //创建click() 事件
evt.initEvent("click", true, true); //初始化click() 事件
element.dispatchEvent(evt); //分发click() 事件
}
}
//事件添加通用方法
addHandler = function(element,type,handler){
if(element.addEventListener){ // !IE
element.addEventListener(type,handler,false);
} else if(element.attachEvent){ // IE
element.attachEvent('on'+type,handler);
} else { //DOM0级
element['on'+type] = handler;
}
};
//按钮aaaa的单击事件
addHandler(testbtn1,'click',function(){
alert('testbtn1 click!');
});
//按钮bbbb的单击事件
addHandler(testbtn2,'click',function(){
// testbtn1.click();
invokeClick(testbtn1);
});
</script>
参考资料: http://blog.csdn.net/fengzheng0603/article/details/6907517
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意2楼
嗯,jQuery, 四海一家的解决方案!
嗯,jQuery, 四海一家的解决方案!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试jquery解决如何?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询