Knockout.js 如何创建敲除提示文本自定义绑定?

Knockout.js 如何创建敲除提示文本自定义绑定?,knockout.js,ko-custom-binding,Knockout.js,Ko Custom Binding,我正在尝试创建一个自定义绑定,以在文本输入中显示提示文本 到目前为止,我有这个,但它不起作用: ko.bindingHandlers.hintText= { init: function (element, valueAccessor) { element.focus(function () { if ($(this).val() === defaultText) { $(this).attr("value", ""

我正在尝试创建一个自定义绑定,以在文本输入中显示提示文本

到目前为止,我有这个,但它不起作用:

ko.bindingHandlers.hintText= {
    init: function (element, valueAccessor) {
        element.focus(function () {
            if ($(this).val() === defaultText) {
                $(this).attr("value", "");
            }
        });
        element.blur(function () {
            if ($(this).val() === '') {
                $(this).val(valueAccessor());
            }
        });
    }
}
html:

<input id="profileID" type="text" data-bind="hintText:'Enter Profile ID'" />

HTML5
占位符
属性应该可以为您实现这一点

如果您的浏览器要求支持
占位符
属性,您可以使用KnockOutJS'
attr
绑定直接调用它,如下所示:

<input data-bind="attr:{placeholder: hintText}">
<input data-bind="placeholder: hintText">
您的html将如下所示:

<input data-bind="attr:{placeholder: hintText}">
<input data-bind="placeholder: hintText">

HTML5
占位符
属性应该可以为您实现这一点

如果您的浏览器要求支持
占位符
属性,您可以使用KnockOutJS'
attr
绑定直接调用它,如下所示:

<input data-bind="attr:{placeholder: hintText}">
<input data-bind="placeholder: hintText">
您的html将如下所示:

<input data-bind="attr:{placeholder: hintText}">
<input data-bind="placeholder: hintText">


你的意思是像HTML
占位符
属性一样吗?是的,像那样,但是我想创建一个自定义绑定,而不是使用占位符。请参阅内置的
attr:{placeholder:myHintText}
绑定对你有用吗?这在IE和所有其他浏览器中都有效吗?你的意思是像HTML
占位符
属性一样吗?是的,像那样,但我想创建一个自定义绑定,而不是使用占位符。请参阅内置的
属性:{占位符:myHintText}
绑定对您有用吗?在IE和所有其他浏览器中都有效吗?