Javascript chrome中未触发jquery文本更改事件
我已经尝试将jQueryJavascript chrome中未触发jquery文本更改事件,javascript,jquery,asp.net,google-chrome,Javascript,Jquery,Asp.net,Google Chrome,我已经尝试将jQuerychange事件放入文档中。准备好了,但没有成功。change事件在Firefox和IE中起作用,但在Chrome中不起作用。更改ctl00\u ContentPlaceHolder1\u Txt\u RegNoTextbox中的值时,甚至不会出现警报框 但是当我输入textbox并从textbox中使用backspace删除该值时,它在chrome中工作。在chrome中更改textbox中的值时,它应该在第一时间起作用 脚本: $("#ctl00_ContentPla
change
事件放入文档中。准备好了
,但没有成功。change
事件在Firefox和IE中起作用,但在Chrome中不起作用。更改ctl00\u ContentPlaceHolder1\u Txt\u RegNo
Textbox中的值时,甚至不会出现警报框
但是当我输入textbox并从textbox中使用backspace删除该值时,它在chrome中工作。在chrome中更改textbox中的值时,它应该在第一时间起作用
脚本:
$("#ctl00_ContentPlaceHolder1_Txt_RegNo").change(function () {
alert("done");
var regno = $("#<%= Txt_RegNo.ClientID %>").val();
var fleetno = $("#<%= Txt_FleetNo.ClientID %>");
var customername = $("#<%= txtCustomerName.ClientID %>");
var ridername = $("#<%= txtRiderName.ClientID %>");
var phoneno = $("#<%= txtPhoneNo.ClientID %>");
var email = $("#<%= txtEmail.ClientID %>");
var chassis = $("#<%= txtchassis.ClientID %>");
var ddlmodel = $("#<%= ddl_Model.ClientID %>");
var ddltype = $("#<%= ddl_type.ClientID %>");
var ddlcolor = $("#<%= ddl_color.ClientID %>");
var ddl_year = $("#<%= ddlyear.ClientID %>");
var KMS = $("#<%= txtKMSRUN.ClientID %>");
var ddladvisor = $("#<%= ddl_ServiceAdvisor.ClientID %>");
var expirydate = $("#<%= txtexpirydate.ClientID %>");
var notes = $("#<%= txtnotes.ClientID %>");
var data = { REGNO: regno };
var jsonData = JSON.stringify(data); $.ajax({
type: "POST",
url: "JobCard.aspx/Populate_Reg",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d.length > 0) {
var e;
for (var i = 0; i < data.d.length; i++) {
fleetno.val(data.d[i].FleetNO);
customername.val(data.d[i].CUSTOMER_NAME);
ridername.val(data.d[i].RIDERNAME);
phoneno.val(data.d[i].PHONENO);
email.val(data.d[i].EMAIL);
chassis.val(data.d[i].CHASSISNO);
ddlmodel.val(data.d[i].MAKE);
ddltype.val(data.d[i].MODEL);
ddlcolor.val(data.d[i].color);
ddl_year.val(data.d[i].Year);
KMS.val(data.d[i].KMSRUN);
ddladvisor.val(data.d[i].ADVISORID);
expirydate.val(data.d[i].EXPIRYDATE);
notes.val(data.d[i].NOTES);
e = expirydate.val()
}
var d1 = Date.parse(e);
var dt = new Date(d1);
var dateExpiry = dt.getMonth() + 1 + "/" + dt.getDate() + "/" + dt.getFullYear();
var d = new Date; var datenow = d.getMonth() + 1 + "/" + d.getDate() + "/" + d.getFullYear();
if (dateExpiry <= datenow) {
checkRegNo()
}
}
})
});
});
$(“#ctl00_ContentPlaceHolder1_Txt_RegNo”)。更改(函数(){
警惕(“完成”);
var regno=$(“#”)val();
var fleetno=$(“#”);
var customername=$(“#”);
var ridername=$(“#”);
var phoneno=$(“#”);
var email=$(“#”)的风险值;
var机箱=$(“#”);
变量ddlmodel=$(“#”);
变量类型=$(“#”);
var ddlcolor=$(“#”)的值;
var ddl_year=$(“#”);
var KMS=$(“#”);
var ddladvisor=$(“#”);
var expirydate=$(“#”)的风险值;
var注释=$(“#”);
var data={REGNO:REGNO};
var jsonData=JSON.stringify(数据);$.ajax({
类型:“POST”,
url:“JobCard.aspx/Populate_Reg”,
资料来源:jsonData,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
如果(数据长度>0){
变量e;
对于(变量i=0;i 如果(dateExpiry尝试像这样使用jquery的keypress
事件
$("#ctl00_ContentPlaceHolder1_Txt_RegNo").keypress(function () {
//your method body
)};
如果您希望在用户完成键入后获取文本框的值,则可以使用模糊事件。一旦文本框失去焦点,将调用此事件。而不是更改和按键事件我使用了jquery的focusout事件,它可以根据我的要求正常工作
$("#ctl00_ContentPlaceHolder1_Txt_RegNo").focusout(function () {
//your method body
)};
如前所述,您可以使用monitorents
JavaScript函数来显示元素上触发的所有事件
monitorEvents($('#ctl00_ContentPlaceHolder1_Txt_RegNo')[0]);
在Chrome中,您会发现只有输入
事件在完成时被触发
input
事件不适用于所有浏览器,因此如果将其与change
事件结合使用,则它应适用于大多数浏览器
$('#ctl00_ContentPlaceHolder1_Txt_RegNo').on('change input', function() {
// Handle event
)};
谢谢,但是文本框附带了一个自动完成功能,因此按键事件不适用于此。当某个元素或其中的任何元素失去焦点时,focusout事件会发送到该元素。这与模糊事件不同,因为它支持检测父元素的焦点丢失(换句话说,它支持事件冒泡)。