在ajax调用之前添加DOM操作之后,dom不会在ajax之后保留

时间:2014-09-08 06:52:34

标签: javascript jquery html ajax dom

DEMO LINK

参考的当前流量屏幕拍摄:

Screen Shot of Current flow

Iam向元素添加一个类并尝试给予焦点。对于静态元素,它的工作正常。但每当我打电话给ajax请求。我添加的类并没有保留它被删除。

JS:

$('#search-refine-bar').on('click', function(e) {
    var eventNode = e.target.nodeName;
    $('.highlight').removeClass('highlight').removeAttr('tabindex focus style').css({
        "border": ""
    });
    setTimeout(function() {
        alert(eventNode + " --------------- " + 'In Progress adding focus');
        $(e.target).attr({
            tabindex: "-1",
            focus: "focus"
        }).addClass('highlight').focus().css({
            "border": "1px solid #f00"
        });
        alert(eventNode + " --------------- " + 'Done status')
    }, 1000);

});

1 个答案:

答案 0 :(得分:0)

第一次点击后,一切看起来都不错。

您的点击事件位于包含所有内容的div上,因此您还标记了<p>个标签等。 我不确定你是否想要这个...

问题是,当你在某个地方点击agian时,你正在使用这段代码删除所有内容......

$('.highlight').removeClass('highlight').removeAttr('tabindex focus style').css({
    "border": ""
});

我不确定你要用这段代码完成什么...

我只是猜测,你在尝试这样的小提琴: http://jsfiddle.net/589hq620/

但是对于你的问题,删除这段代码就是答案......