怎么用js添加点击事件,点击后跳转到指定动态页面
如何用js添加点击事件,点击后跳转到指定动态页面,
部分代码如下:
if (data.success) {
var oParent = document.getElementById('blog');// 父级对象
for (var i=0;i<data.data.length;i++){
var index=document.createElement('div'); //添加 元素节点
index.className='index'; //添加 类名 name属性
oParent.appendChild(index); //添加 子节点
index.onclick=function(data){
location.href='article.php?uid=' + data.data[i].uid;
};
这里显示data.data[i].uid 是undefined, 这里在onclick函数外console.log(data.data[i].uid) 可以正常显示.应该是作用域的问题, 具体该如何写,求大神
------解决思路----------------------
------解决思路----------------------
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hello, World</title>
<style type="text/css">
.index{
border: 2px solid #ccc;
display: block;
height: 50px;
width: 50px;
}
</style>
</head>
<body>
<div id="blog"></div>
</body>
<script>
var data={"data":[{"uid":1},{"uid":2}]}
var oParent = document.getElementById('blog');// 父级对象
for (var i=0;i<data.data.length;i++){
var index=document.createElement('div'); //添加 元素节点
index.className='index'; //添加 类名 name属性
oParent.appendChild(index); //添加 子节点
(function() {
var item = data.data[i];
index.onclick = function(){
url(item);
}
})();
}
function url(obj){
alert(obj.uid);
// location.href='article.php?uid=' + obj.uid;
};
</script>
</html>
部分代码如下:
if (data.success) {
var oParent = document.getElementById('blog');// 父级对象
for (var i=0;i<data.data.length;i++){
var index=document.createElement('div'); //添加 元素节点
index.className='index'; //添加 类名 name属性
oParent.appendChild(index); //添加 子节点
index.onclick=function(data){
location.href='article.php?uid=' + data.data[i].uid;
};
这里显示data.data[i].uid 是undefined, 这里在onclick函数外console.log(data.data[i].uid) 可以正常显示.应该是作用域的问题, 具体该如何写,求大神
------解决思路----------------------
index.onclick = (function(obj){
return function(){
location.href = 'article.php?uid=' + obj.data[i].uid;
}
})(data);
------解决思路----------------------
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Hello, World</title>
<style type="text/css">
.index{
border: 2px solid #ccc;
display: block;
height: 50px;
width: 50px;
}
</style>
</head>
<body>
<div id="blog"></div>
</body>
<script>
var data={"data":[{"uid":1},{"uid":2}]}
var oParent = document.getElementById('blog');// 父级对象
for (var i=0;i<data.data.length;i++){
var index=document.createElement('div'); //添加 元素节点
index.className='index'; //添加 类名 name属性
oParent.appendChild(index); //添加 子节点
(function() {
var item = data.data[i];
index.onclick = function(){
url(item);
}
})();
}
function url(obj){
alert(obj.uid);
// location.href='article.php?uid=' + obj.uid;
};
</script>
</html>