高手帮忙:<a href="#" onclick="act(document.topsearch.type);">搜索</a>中onclick事件没有执行?? 本帖最后由 jycjyc 于 2009-06-12 12:07:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 links[i].onclick=function(){ alert(this.href);} 把原来的oncilck替换掉拉当然不能执行act()啦 <a href=javascript:act(document.topsearch.type)>搜索</a> function addListener(element, eventType, listener){ if (element.addEventListener) { element.addEventListener(eventType, listener, false); } else if (element.attachEvent) { element.attachEvent('on' + eventType, listener); } else { element['on' + eventType] = listener; }}var links = document.body.getElementsByTagName("A");for (var i = 0; i < links.length; i++) { addListener(links[i], 'click', function(){ alert(this.href); });} 结果alert(this.href);弹出undefined不对哦 支持!把这些 onclick 代码删除掉你的链接要执行什么操作?act(document.topsearch.type)要打开一个窗口,链接还要打开一个页面?如果链接不打开另外的页面,修改一下<a href="#" onclick="act(document.topsearch.type);return false;">搜索 </a> 注意黑体部分 <div class="search_index"> <form action="" method="get" name="topsearch" target="_blank"> <select name="type"> <option value=2>产品 </option> <option value=3>品牌 </option> <option value=5>资讯 </option> <option value=4>企业 </option> <option value=1>求购 </option> </select> <input type="hidden" name="classid" value="2" /> <input type="text" size="40" name="wd" id="wd"/> <p> <a href="#" onclick="act(document.topsearch.type);">搜索 </a> </p> </form> </div> <script language="javascript"> <!-- var SELECTID="1"; function act(bc) { if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); }var obj=document.forms[0].getElementsByTagName("A")[0]var act_old=obj.onclickobj.onclick=function(){alert(this.href);act_old()}</script> if(bc.value=="5") { window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); } }//这个括号去掉<p> <a href="#" onclick="act(document.getElementById('type'));">搜索 </a> </p> //改一下 只能改var links=document.body.getElementsByTagName("A"); for(var i=0;i <links.length;i++){ links[i].onclick=function(){ alert(this.href); } } 这部分,其他部分不能改。 引用 9 楼 caiying2009 的回复:还是有问题,这个种做法不通用,如果页面上不止一个<a href></a>结果就错了,继续请高手出招。 <div class="search_index"> <form action="" method="get" name="topsearch" target="_blank"> <select name="type"> <option value=2>产品 </option> <option value=3>品牌 </option> <option value=5>资讯 </option> <option value=4>企业 </option> <option value=1>求购 </option> </select> <input type="hidden" name="classid" value="2" /> <input type="text" size="40" name="wd" id="wd"/> <p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p> </form> </div> <script language="javascript"> <!-- var SELECTID="1"; function act(bc) { if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); }var obj=document.getElementsByTagName("A")for (var i=0;i<obj.length;i++){var act_old=obj[i].onclickif (obj[i].className.indexOf("caiying2009")!=-1){obj[i].onclick=function(){alert(this.href);act_old();}}}</script> <div class="search_index"> <form action="" method="get" name="topsearch" target="_blank"> <select name="type"> <option value=2>产品 </option> <option value=3>品牌 </option> <option value=5>资讯 </option> <option value=4>企业 </option> <option value=1>求购 </option> </select> <input type="hidden" name="classid" value="2" /> <input type="text" size="40" name="wd" id="wd"/> <p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p> </form> </div> <script language="javascript"> <!-- var SELECTID="1"; function act(bc) { if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); }var obj=document.getElementsByTagName("A")for (var i=0;i<obj.length;i++){if (obj[i].className.indexOf("caiying2009")!=-1){var act_old=obj[i].onclickobj[i].onclick=function(){alert(this.href);act_old();}}}</script> 要触发多个事件处理器只有用DOM的事件添加方法,或自己模拟一个这样的方法 <div class="search_index"> <form action="" method="get" name="topsearch" target="_blank"> <select name="type"> <option value=2>产品 </option> <option value=3>品牌 </option> <option value=5>资讯 </option> <option value=4>企业 </option> <option value=1>求购 </option> </select> <input type="hidden" name="classid" value="2" /> <input type="text" size="40" name="wd" id="wd"/> <p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p> <p> <a class="caiying2009" href="---">搜索 </a> </p> </form> </div> <script language="javascript"> <!-- var SELECTID="1"; function act(bc) { if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); }var obj=document.getElementsByTagName("A")for (var i=0;i<obj.length;i++){if (obj[i].className.indexOf("caiying2009")!=-1 && obj[i].onclick){var act_old=obj[i].onclickobj[i].onclick=function(){alert(this.href);act_old();}}}</script> 模拟多事件处理var links = document.body.getElementsByTagName("A");for (var i = 0; i < links.length; i++) { if (typeof links[i].onclick == 'function') { var fn = links[i].onclick; links[i].onclick = function(){ fn(); alert(this.href); } } else { links[i].onclick = function(){ alert(this.href); } }} 通过改造它的最后一个alert解决了。function addListener(element, eventType, listener){ if (element.addEventListener) { element.addEventListener(eventType, listener, false); } else if (element.attachEvent) { element.attachEvent('on' + eventType, listener); } else { element['on' + eventType] = listener; }}var links = document.body.getElementsByTagName("A");for (var i = 0; i < links.length; i++) { addListener(links[i], 'click', function(){ alert(event.srcElement.href); });} jquery 1.4.2 查找 table 下所有tr 下的第3个TD内容 帮帮忙 encodeuri 返回的是什么编码 一个正则表达式断言在javascript中的问题 装载VML的问题 firefox中的对象在那里? netscape下的模态窗口。 请问JAVASCRIPT与JSCRIPT有什么区别?谢谢! 如何实现点登陆后自动清空输入框的内容? 求急!啊! webapp拼图小游戏问题 window.onload冲突问题 JS变量传值~~~~~~~~急
alert(this.href);
}
把原来的oncilck替换掉拉
当然不能执行act()啦
if (element.addEventListener) {
element.addEventListener(eventType, listener, false);
} else if (element.attachEvent) {
element.attachEvent('on' + eventType, listener);
} else {
element['on' + eventType] = listener;
}
}var links = document.body.getElementsByTagName("A");
for (var i = 0; i < links.length; i++) {
addListener(links[i], 'click', function(){
alert(this.href);
});
}
结果alert(this.href);弹出undefined不对哦
如果链接不打开另外的页面,修改一下<a href="#" onclick="act(document.topsearch.type);return false;">搜索 </a> 注意黑体部分
<div class="search_index">
<form action="" method="get" name="topsearch" target="_blank">
<select name="type">
<option value=2>产品 </option>
<option value=3>品牌 </option>
<option value=5>资讯 </option>
<option value=4>企业 </option>
<option value=1>求购 </option>
</select>
<input type="hidden" name="classid" value="2" />
<input type="text" size="40" name="wd" id="wd"/>
<p> <a href="#" onclick="act(document.topsearch.type);">搜索 </a> </p>
</form>
</div> <script language="javascript">
<!--
var SELECTID="1"; function act(bc) {
if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
}
var obj=document.forms[0].getElementsByTagName("A")[0]
var act_old=obj.onclick
obj.onclick=function(){
alert(this.href);
act_old()
}
</script>
{
window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank"); }
}//这个括号去掉
<p> <a href="#" onclick="act(document.getElementById('type'));">搜索 </a> </p> //改一下
只能改var links=document.body.getElementsByTagName("A");
for(var i=0;i <links.length;i++){
links[i].onclick=function(){
alert(this.href);
}
}
这部分,其他部分不能改。
还是有问题,这个种做法不通用,如果页面上不止一个<a href></a>结果就错了,继续请高手出招。
<div class="search_index">
<form action="" method="get" name="topsearch" target="_blank">
<select name="type">
<option value=2>产品 </option>
<option value=3>品牌 </option>
<option value=5>资讯 </option>
<option value=4>企业 </option>
<option value=1>求购 </option>
</select>
<input type="hidden" name="classid" value="2" />
<input type="text" size="40" name="wd" id="wd"/>
<p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p>
</form>
</div> <script language="javascript">
<!--
var SELECTID="1"; function act(bc) {
if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
}
var obj=document.getElementsByTagName("A")
for (var i=0;i<obj.length;i++){
var act_old=obj[i].onclick
if (obj[i].className.indexOf("caiying2009")!=-1){
obj[i].onclick=function(){
alert(this.href);
act_old();
}
}}
</script>
<div class="search_index">
<form action="" method="get" name="topsearch" target="_blank">
<select name="type">
<option value=2>产品 </option>
<option value=3>品牌 </option>
<option value=5>资讯 </option>
<option value=4>企业 </option>
<option value=1>求购 </option>
</select>
<input type="hidden" name="classid" value="2" />
<input type="text" size="40" name="wd" id="wd"/>
<p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p>
</form>
</div> <script language="javascript">
<!--
var SELECTID="1"; function act(bc) {
if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
}
var obj=document.getElementsByTagName("A")
for (var i=0;i<obj.length;i++){
if (obj[i].className.indexOf("caiying2009")!=-1){
var act_old=obj[i].onclick
obj[i].onclick=function(){
alert(this.href);
act_old();
}
}}
</script>
<div class="search_index">
<form action="" method="get" name="topsearch" target="_blank">
<select name="type">
<option value=2>产品 </option>
<option value=3>品牌 </option>
<option value=5>资讯 </option>
<option value=4>企业 </option>
<option value=1>求购 </option>
</select>
<input type="hidden" name="classid" value="2" />
<input type="text" size="40" name="wd" id="wd"/>
<p> <a class="caiying2009" href="#" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="##" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="###" onclick="act(document.topsearch.type);">搜索 </a> </p>
<p> <a class="caiying2009" href="---">搜索 </a> </p>
</form>
</div> <script language="javascript">
<!--
var SELECTID="1"; function act(bc) {
if(bc.value=="1")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="2")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="3")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="4")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
if(bc.value=="5")window.open("http://www.baidu.com/s?wd="+document.topsearch.wd.value,"_blank");
}
var obj=document.getElementsByTagName("A")
for (var i=0;i<obj.length;i++){
if (obj[i].className.indexOf("caiying2009")!=-1 && obj[i].onclick){
var act_old=obj[i].onclick
obj[i].onclick=function(){
alert(this.href);
act_old();
}
}
}
</script>
for (var i = 0; i < links.length; i++) {
if (typeof links[i].onclick == 'function') {
var fn = links[i].onclick;
links[i].onclick = function(){
fn();
alert(this.href);
}
} else {
links[i].onclick = function(){
alert(this.href);
}
}
}
通过改造它的最后一个alert解决了。function addListener(element, eventType, listener){
if (element.addEventListener) {
element.addEventListener(eventType, listener, false);
} else if (element.attachEvent) {
element.attachEvent('on' + eventType, listener);
} else {
element['on' + eventType] = listener;
}
}var links = document.body.getElementsByTagName("A");
for (var i = 0; i < links.length; i++) {
addListener(links[i], 'click', function(){
alert(event.srcElement.href);
});
}