mmv*_*sbg 6 javascript jquery prop attr
我创建了一个名为'loaded'的属性按钮,初始值为'no'.点击按钮我正在运行一些ajax,在它的最后我试图将'loaded'属性设置为'yes',这样如果用户不止一次点击按钮,ajax就不会再次运行.
我有这样的事情:http://jsfiddle.net/PDW35/2/
单击该按钮不会更改加载到"是".但是,如果您在.attr调用之后立即执行警报,请执行以下操作:
alert($(this).attr('loaded'));
Run Code Online (Sandbox Code Playgroud)
警报框确实包含"是",这没有用,因为一旦用户点击,上面的相同代码会在屏幕上显示"否"警告框.
如果我使用.prop而不是.attr,它的行为都是一样的.我在这里错过了一点或.prop和.attr只是不使用自定义属性?
编辑:根据以下评论使用ajax更新了jsfiddle:http://jsfiddle.net/PDW35/5/
我不太确定原始代码不起作用的原因,但这$this似乎是出于某种原因的原因。尝试下面的方法,它似乎有效。小提琴在这里。
一旦找到原因,我会尝试更新答案。
var loaded = $(".preview-button").attr('data-loaded');
if (loaded === "no") {
$.ajax({
success: function (result) {
$(".preview-button").attr('data-loaded', 'yes');
alert($(".preview-button").attr('data-loaded'));
}
});
} else {
alert("data loaded");
}
Run Code Online (Sandbox Code Playgroud)
请参阅此线程$this,这似乎是AJAX 调用内部似乎不起作用的原因。
| 归档时间: |
|
| 查看次数: |
21278 次 |
| 最近记录: |