js第一次要双击才能触发事件,之后单击就行了

程序如下:functionsendnews(){varnews=document.getElementsByName('sendnews');for(vari=0;i<n... 程序如下:
function sendnews() {
var news = document.getElementsByName('sendnews');
for (var i = 0; i < news.length; i++) {
news[i].onclick = function () {
centerWindow('send.php?id=' + this.title, 'sendnews', 500, 350);
};
}
}
上面的第一次要双击才能触发事件,之后单击就行了。
如果改成function sendnews(0{alert(document.getElementsByName('sendnews'));}单击就可以触发事件。
我也问度娘了 说的有点道理的是说是第一单击是执行了var news = document.getElementsByName('sendnews');这句,再点击才能执行后面的。
如果真是这样的话,请问下大家应该怎么解决,我也已经没办法了,能试的都试了。
分不多,也很少上这里提问,麻烦大神来帮忙下吧.
如果大家有想法的话可以私聊我, 这里没分了 ....哈哈..
展开
 我来答
yugi111
推荐于2017-10-12 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
已demo,采纳即可

<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8 />
<title>Nothing</title>
<style type="text/css">
</style>
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
onload = function ()
    {
    sendnews ();
    }
    
    function sendnews ()
    {
    var news = document.getElementsByName ('sendnews');
    for ( var i = 0; i < news.length; i++)
    {
    news[i].onclick = function ()
    {
    centerWindow ('send.php?id=' + this.title, (screen.width - 500) / 2, (screen.height - 350) / 2, 500,
            350, 'sendnews');
    };
    }
    }
    var popUpWin = 0;
    function centerWindow (URLStr, left, top, width, height, title)
    {
    if (popUpWin)
    {
    if (!popUpWin.closed)
    popUpWin.close ();
    }
    popUpWin = open (URLStr, title,
            'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='
                    + width + ',height=' + height + ',left=' + left + ', top=' + top + ',screenX=' + left
                    + ',screenY=' + top + '');
    }
</script>
</head>
<body>
<button name="sendnews">sendnews1</button>
<button name="sendnews">sendnews2</button>
<button name="sendnews">sendnews3</button>
</body>
</html>
更多追问追答
追问
忘了说下了 我的这个是应用在ajax返回的页面上的。
追答
ajax返回的页面也是一样的道理,你得首先定义你的方法,然后采纳调用,你不能返回的时候来定义,再调用,这样就跟你说的一样,双击了,后面就单击了,因为你开始第一次是定义,后面就是调用了。这个就是道理,但是你还没有明白,反而追问说ajax返回的页面。故吾们无语也。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式