Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery onBlur事件未触发_Javascript_Jquery_Onblur - Fatal编程技术网

Javascript JQuery onBlur事件未触发

Javascript JQuery onBlur事件未触发,javascript,jquery,onblur,Javascript,Jquery,Onblur,这个问题看起来很简单,但不管我做什么(基于我在SOV上的各种帖子),我都无法在我的Devextreme应用程序中触发这个事件 前提是。。。 我只想用输入的文本更新现有变量的值。变量的值从另一个页面带入。我需要从写入文本框的文本中更新变量的值。这就是我想要做的 以下是我的html代码: <div class="dx-field-label">Code: </div> <div class="dx-field-value" id="txtCode" data-b

这个问题看起来很简单,但不管我做什么(基于我在SOV上的各种帖子),我都无法在我的Devextreme应用程序中触发这个事件

前提是。。。 我只想用输入的文本更新现有变量的值。变量的值从另一个页面带入。我需要从写入文本框的文本中更新变量的值。这就是我想要做的

以下是我的html代码:

<div class="dx-field-label">Code: </div>
    <div class="dx-field-value" id="txtCode" data-bind="dxTextBox: { value: CustomerCode, placeholder: 'Enter Code', showClearButton: true }"></div>
</div>
如有任何建议,将不胜感激

编辑

好的,我现在已经做了:

 CustomerID;
CustomerName.trim();
CustomerCode.trim();
CustomerEmail.trim();



ko.applyBindings({
ChangedCustomerCode: ko.observable(),
CodeFocusOut: function(e){
    ChangedCustomerCode: value;
    console.log(value);
    console.log(ChangedCustomerCode);
    CustomerCode: ChangedCustomerCode;
    console.log(CustomerCode);
}
}))


但它告诉我不能多次将绑定应用于同一个elemenet。我应该怎么做?

像这样使用事件绑定:

$('.txtCode').on('blur', function ($this) {
    // Code.
}
试试这个

$('body').on('blur', '#txtCode', function () {
     CustomerCode = $("#txtCode").dxTextBox('option', 'value');

console.log(CustomerCode);
});

您尝试处理'div'元素(
id=“txtCode”
)上的
blur
事件。但是该元素的焦点状态没有改变,因此不会触发
blur
事件

实际上,如果使用knockoutjs,就不应该手动处理
blur
事件。只需使用ko.observables:

<div data-bind="dxTextBox: { value: myValue, onValueChanged: valueChanged }"></div>

ko.applyBindings({
    myValue: ko.observable(),
    valueChanged: function(e){
        alert(e.value);
    }
});

ko.applyBindings({
myValue:ko.observable(),
值更改:功能(e){
警觉(e.value);
}
});

在绑定事件时查看此小提琴-

'txtCode'
,缺少
?或者只是
$('#txtCode')。在('blur',function()上{
另外,请确保
.txtCode
类在
#txtCode
中输入感谢您的回复,Sergey,但是现在我收到一个错误,指出我无法对同一元素多次应用绑定。我已经用新代码更新了我的原始帖子如果您使用Devextreme应用程序项目模板,您不应该调用ko.applyBindings。我之所以调用它,是因为我只使用了knockoutjs。
$('body').on('blur', '#txtCode', function () {
     CustomerCode = $("#txtCode").dxTextBox('option', 'value');

console.log(CustomerCode);
});
<div data-bind="dxTextBox: { value: myValue, onValueChanged: valueChanged }"></div>

ko.applyBindings({
    myValue: ko.observable(),
    valueChanged: function(e){
        alert(e.value);
    }
});