将 onfocus 和 onblur 函数替换或添加到 jQuery 函数中的文本框
本文关键字:函数 jQuery 文本 onfocus onblur 替换 添加 | 更新日期: 2023-09-27 18:34:01
我有一个文本框,它有一个文本值,并附加了对焦和onblur功能,使文本消失并在单击或关闭它时出现......
附加到文本框的模糊和对焦功能是...
function feedbackTextBoxFocus(textFieldObject, initialText) {
if (textFieldObject) {
if (textFieldObject.value == initialText)
textFieldObject.value = '';
}
}
function feedbackTextBoxBlur(textFieldObject, initialText) {
if (textFieldObject) {
if (textFieldObject.value == '')
textFieldObject.value = initialText;
}
}
文本框是...
<asp:TextBox ID="TxtAskQuestionTitle" runat="server" CssClass="KBTopQuestionTitleTextbox" Text="Ask a question on this topic..." onblur="feedbackTextBoxBlur(this,'Ask a question on this topic...')" onfocus="feedbackTextBoxFocus(this,'Ask a question on this topic...')" />
我想通过我拥有的 jquery 方法做的是,当单击文本框时,该方法使内容区域向下滑动,是更改文本框中的文本,并将 onblur 和 onfocus 值更改为"为您的问题提供标题...">
$(function () {
$('.QuestionContentExpandClick').click(function () {
/**** Slide the content div ****/
var viewContent = $('#DivExpandQuestionContentArea');
viewContent.slideDown('slow', function () {
// If logged in and sliding the content area down
// the title box message changes
var titleTextbox = $('#TxtAskQuestionTitle');
titleTextbox.val('Provide a title for your question...');
//titleTextbox.attr('onfocus', feedbackTextBoxFocus(this,'Provide a title for your question...'));
//titleTextbox.attr('onblur', feedbackTextBoxBlur(this, 'Provide a title for your question...'));
});
});
});
如您所见,我可以更改文本框中的文本值,但找不到更改 onblur 和 onfocus 功能的方法,任何人都可以帮我解决这个问题吗?提前非常感谢!
如果在放置回调函数时使用括号,则不是传递引用,而是在执行函数。此外,您只想使用.focus()
和.blur()
功能。尝试如下:
titleTextbox.focus(function() {
feedbackTextBoxFocus(this,'Provide a title for your question...');
});
titleTextbox.blur(function() {
feedbackTextBoxBlur(this, 'Provide a title for your question...');
});