请问调用JS 点击SPAN 代码该怎么写请教
代码是:<SPANclass=publish>发布</SPAN>请问调用js以发布为基准点击,该怎么写?请问调用js以class=publish为基准点击,该怎么写?...
代码是:<SPAN class=publish>发布</SPAN>
请问调用js以 发布 为基准 点击 ,该怎么写?
请问调用js以 class=publish 为基准 点击 ,该怎么写? 展开
请问调用js以 发布 为基准 点击 ,该怎么写?
请问调用js以 class=publish 为基准 点击 ,该怎么写? 展开
3个回答
2017-08-15
展开全部
// 以 发布 为基准
var spans = document.querySelectorAll("span");
for(var i =0;i<spans.length;i++){
var si = spans[i];
if(si.innerHTML == "发布"){
si.onclick = function(){
// TODO
}
}
}
// 以 class=publish 为基准
var spans = document.querySelectorAll("span.publish");
for(var i = 0;i<spans.length;i++){
spans[i].onclick=function(){
// TODO
}
}
更多追问追答
追问
不好意思 您的代码测试不成功,好像一定要 javascript 代码才能调用,我把他们改成一行后,把您的代码放进去后没反应
追答
是不是你添加的时候出了什么差错呢,你贴出你的代码来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-15
展开全部
主动触发事件是一个经常会用到的技巧,它很重要。它和事件绑定一样存在着浏览器兼容性问题。传统浏览器(IE8-)使用createEventObject来创建事件对象,用fireEvent这个方法来触发事件;现代浏览器用createEvent来创建对象,用dspatchEvent来触发事件。
//获取浏览器版本
var isIE=navigator.userAgent.match(/MSIE (\d)/i);
isIE=isIE?isIE[1]:undefined;
//事件函数
function onclick(e){
e=e||event;
alert(e.msg||"表酱紫啦,人家羞涩啦~");
};
//给document绑定一个点击事件
isIE<9
//传统浏览器使用attachEvent
?document.attachEvent("onclick",onclick)
//现代浏览器使用addEventListner
:document.addEventListener("click",onclick,false);
//触发自定义事件
if(isIE<9){
//传统浏览器
//创建对象
var event=document.createEventObject();
//给事件对象添加属性
event.msg="我是fireEvent触发的";
//触发事件
document.fireEvent("onclick",event);
}else{
//现代浏览器
//创建事件对象
var e=document.createEvent("MouseEvents");
//初始化事件对象
e.initMouseEvent("click"),
//给事件对象添加属性
e.msg="我是despatchEvent触发的";
//触发事件
document.dispatchEvent(e);
};
//获取浏览器版本
var isIE=navigator.userAgent.match(/MSIE (\d)/i);
isIE=isIE?isIE[1]:undefined;
//事件函数
function onclick(e){
e=e||event;
alert(e.msg||"表酱紫啦,人家羞涩啦~");
};
//给document绑定一个点击事件
isIE<9
//传统浏览器使用attachEvent
?document.attachEvent("onclick",onclick)
//现代浏览器使用addEventListner
:document.addEventListener("click",onclick,false);
//触发自定义事件
if(isIE<9){
//传统浏览器
//创建对象
var event=document.createEventObject();
//给事件对象添加属性
event.msg="我是fireEvent触发的";
//触发事件
document.fireEvent("onclick",event);
}else{
//现代浏览器
//创建事件对象
var e=document.createEvent("MouseEvents");
//初始化事件对象
e.initMouseEvent("click"),
//给事件对象添加属性
e.msg="我是despatchEvent触发的";
//触发事件
document.dispatchEvent(e);
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你html写错了,规范如下:
<span class="publish"></span>
jquery如下:
$(function(){
$(".publish").click(function(){
alert(1)
})
})
追问
不好意思 您的代码测试不成功,好像一定要 javascript 代码才能调用,不知道能不能改?
已经结合您的代码,和另一位朋友的代码测试成功。谢谢您的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询