我有这个的jQuery只读属性问题
<input type="text" id="tbox" name="tbox" readonly="readonly" />
我有一个按钮上,我这样做
$('#tbox').removeAttr('readonly');
我也试着这样做
$('#tbox').attr('readonly', false);
..但没有工作..
我有这个的jQuery只读属性问题
<input type="text" id="tbox" name="tbox" readonly="readonly" />
我有一个按钮上,我这样做
$('#tbox').removeAttr('readonly');
我也试着这样做
$('#tbox').attr('readonly', false);
..但没有工作..
您将需要这样做当DOM使用jQuery的ready事件加载文档对象时。这里有一个Working Demo
$(document).ready(function() {
$('#tbox').removeAttr('readonly');
});
或简写
$(function() {
$('#tbox').removeAttr('readonly');
});
编辑:
我刚阅读one of your other questions$()
如何没有工作,但是当你使用jQuery()
,你的代码工作。这表明与$
函数有冲突,这很可能是由于页面上使用了另一个JavaScript框架,也使用了简写形式$
。你可以
1-使用jQuery的noConflict()来解决这个问题。您可以将jQuery选择器函数分配给不同的别名。
2-使用jQuery()
在你的代码代替$()
3-包裹jQuery代码在一个自调用匿名函数,这将仍然允许您使用$()
速记jQuery选择它
(function($) {
$(function() {
$('#tbox').removeAttr('readonly');
});
})(jQuery);
这是匿名的函数,它的一个参数,$
并立即执行,在jQuery
传递作为该参数的参数。
+1有帮助的答案,甚至是一个可行的例子! :) – 2009-09-14 09:15:32
@ mathius1看起来这个例子是JSBin中的一个漏洞的受害者。我已经更新它指向正确的原始示例。感谢您的光临 – 2014-03-06 18:08:00
这里的区别读文章则认为,他们这样做
<input type="text" id="tbox" name="tbox" readonly />
然后
$('#tbox').removeAttr('readonly');
应该工作。
我知道这是现在2010年12月,但我只是在使用JQuery在表单的文本框上设置和删除READONLY时寻找此文。我发现并使用了这个:
`$('#id-name')。attr('readonly',true); //使其只读
$('#id-name')。attr('readonly',false); //使得editable`
谢谢..这对我有效。我不知道为什么,但简单地使用attr(“只读”)不会做到这一点。 – 2011-07-26 14:31:17
<input type="submit" id="btn1" onclick="setTimeout(disablefunction, 1);">
add function of java script
<script type="text/javascript" >
function disablefunction()
{
$('#btn1').attr('disabled',true)
}
</script>
我相信这会工作100%
你的代码似乎是好的。其他一些代码将会产生错误。尝试使用萤火虫进行调试。 – rahul 2009-09-14 09:08:26
使用Prop()而不是attr()。看到这篇文章,http://stackoverflow.com/questions/5874652/prop-vs-attr。另外,如果您在IE中,请检查兼容性模式(工具>“兼容性视图”),确保兼容性视图未被选中。 – spoony 2013-06-06 18:41:54