我希望能够在点击按钮后只加载一次网址。我有这个:
$("#button").click(function () {
$("#frame").attr("src", "http://www.google.com/");
});
不幸的是,这会在每次单击按钮时加载iframe。这是完整的代码:JS Bin
答案 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);
});