textarea输入内容,点击旁边空白的地方,再点入文本框,内容不见了
<script type="text/javascript">
(function ($) {
$.fn.iClear = function (iSet) {
/*
* Curval:表单默认值
* CurColor:默认颜色值
* Enter:绑定回车事件的元素
*/
var self = this;
iSet = $.extend({ Curval: null, color: '#000', CurColor: '#ccc', Enter: null }, iSet || {});
$(self).each(function () {
//当设置默认值是为表单赋默认值
if (iSet.Curval != null) {
$(self).val(iSet.Curval);
}
//表单focus,blur事件
$(this).css('color', iSet.CurColor).focus(function () {
Curval = $(this).val('');
$(this).css('color', iSet.color);
$(this).val();
if ($(this).val() == (iSet.Curval ? iSet.Curval : this.defaultValue)) {
$(this).val('');
}
}).blur(function () {
if ($(this).val() == '') {
$(this).val(Curval).css('color', iSet.CurColor);
}
});
$(".ra_1").click(function () {
$('textarea').css("color", "#CCC");
});
});
};
})(jQuery);
$(function () {
$('textarea').iClear();
});
</script>
<textarea name="txtContent" id="txtContent cols="80" rows="8" maxlength="150" style="display:block;"</textarea>
------解决方案--------------------能力有限,真看不懂你的插件想实现什么功能!
如果你想再点击内容不为空,很简单,删除: Curval = $(this).val(''); 即可!
------解决方案--------------------
$(this).css('color', iSet.CurColor).focus(function () {
if(!this.isWrite)
Curval = $(this).val('');
this.isWrite=true;
......
------解决方案--------------------用一个变量作为标志(标志的意义是否需要清空文本框),达到触发条件时根据这个变量判断是否该清空文本框,并修改这个变量的值;
原理就是这样,具体你想达到什么效果,按这个思路写代码就可以了