Js,JQuery 求大侠解释一下.................

$(function () {

    //绑定事件当元素获得焦点(在页面上此元素是两个单选框)

    $("#divNewsType input").focus(newsTypeSelected);

});


//跨域请求数据

function newsTypeSelected() {

    $.getJSON(

        "http://192.168.0.7:9993/Services/common.ashx?action=class&param=1&jsoncallback=?",

        function (json) {

            alert("ss");    //这个会死循环式的弹出

        }

    );

}

这段代码会不断的弹出"ss",就像死循环一样,如果去掉alert  替换为其它代码 比如$("id").html("ss");  则不会死循环

牧羊人nacy
浏览 441回答 2
2回答

繁星coding

给你分析一下。(1).获取焦点;(2).执行fun;(3).弹出alert;(4).点击确定;(5).获取焦点-继续回到第二步;然后就死循环了。

慕的地8271018

我觉得应该是跟浏览器有关,有试过浏览器吗?简单来说就是当alert的时候弹出窗口,有些浏览器视为已经失去焦点,当点alert中的确定后,视为input再次获得焦点,所以再次触发事件。
打开App,查看更多内容
随时随地看视频慕课网APP