您可以创建基于对象的变量:
var screen = {
link:''
};
然后点击分配/访问:
$('a').on('click',function(){
screen.link = this.href;
alert(screen.link);
});
我提倡将变量分配给窗口……以这种方式进行更多控制。
请注意,我使用this.href
而不是$(this).attr('href')
. 正如世界上最有趣的人所说,我并不总是使用 vanilla JS,但当我这样做时,它的速度大约快了 600,000 倍。
编辑所以你想摆脱$(document).ready()
吧?现在,您正在冒险进入纯香草 JS 鲨鱼出没的水域。
var screen = {
link:'',
assignLink:function(href){
screen.link = href;
alert(href);
}
},
links = document.getElementsByTagName('a');
if(window.addEventListener){
for(i = links.length; i--;){
links[i].addEventListener('click',function(){
screen.assignLink(this.href);
});
}
} else {
for(i - links.length; i--;){
links[i].attachEvent('onclick',function(){
screen.assignLink(this.href);
});
}
}
这只是随心所欲,所以如果它不是完美无瑕的,请不要责骂我,更重要的是要说明一点。看看为什么 jQuery 如此方便?所有这些额外的废话都是在后台为你完成的,所以你只需要处理这些事情的负担,$(document).ready()
而不必处理剩下的这类事情。
再次编辑所以......你想跨页面访问这个值吗?
var screen = {
link:((localStorage['link'] !== null) ? localSorage['link'] : ''),
setLink:function(href){
screen.link = href;
localStorage['link'] = href;
alert(href);
},
getLink:function(){
return screen.link;
}
};
$('a').on('click',function(){
screen.setLink(this.href);
});
localStorage 的这种使用只是一个示例……如果您希望 IE7- 工作,您可以得到更详细的信息或使用 cookie,但这只是提供一些想法。您可以随时使用screen.setLink
传递 的函数设置该值href
,也可以随时使用该函数获取该值screen.getLink
。