点击时只加载网址一次

时间:2011-08-25 12:09:15

标签: jquery url attr

我希望能够在点击按钮后只加载一次网址。我有这个:

$("#button").click(function () { 
      $("#frame").attr("src", "http://www.google.com/");
});

不幸的是,这会在每次单击按钮时加载iframe。这是完整的代码:JS Bin

3 个答案:

答案 0 :(得分:5)

.click()替换为.one('click', function() {

但是,这会使按钮在之后没有任何功能,因此您可能希望在事件处理程序中删除或禁用它。

如果您只想在<iframe>加载时“暂时”禁用该按钮,请执行以下操作:

var myClickHandler = function myClickHandler() {
    $(this).unbind( myClickHandler );

    $('#frame').attr('src', 'http://www.google.com').load(function() {
        $('#button').click( myClickHandler );
    });
};

$('#button').click( myClickHandler );

答案 1 :(得分:1)

您可以使用here找到的jQuery .one()方法。例如:

$("#button").one('click', function () { 
    $("#frame").attr("src", "http://www.google.com/");
});

希望这有帮助。

答案 2 :(得分:1)

取消绑定事件,如

$("#button").click(function (e) { 
      alert("good bye my friend");
    $(this).unbind(e.eventType);
});

http://jsfiddle.net/EVhJV/