Heim >Web-Frontend >js-Tutorial >jQuery中的bind绑定事件与文本框改变事件的临时解决方法_jquery

jQuery中的bind绑定事件与文本框改变事件的临时解决方法_jquery

WBOY
WBOYOriginal
2016-05-16 18:21:181117Durchsuche

一直没什么兴趣看jQuery,就用自己那点不咋样的javascript硬撑着,今天写一个功能时想尝试一下,用bind注册事件时发现怎么都不好使

复制代码 代码如下:

$("#txtStation").bind("onpropertychange", GetStationLevel);

然后onclick之类的都试了,没一个能用的,无奈去翻jQuery的API,都是鸟语我也看不懂具体说了点了,但是发现bind注册事件都是没有on的。
  发现有change事件,试了试
复制代码 代码如下:

$("#txtStation").change(function(){alert('change')});

发现是要等到失去焦点才会激活的跟onchange一样,我这用不了。
  抱着试一试的想法我就吧onpropertychange前面的on删掉了,反正html不管本身写着支持不支持的事件只要你写上去没准都好使。没想到还真行。IE是没问题了,现在不都讲跨浏览器啊火狐下咱也得能用啊。
  火狐下都说用oninput事件,我试了试不好使,oninput只在输入值的才会激发,我这输入框是带感应的,就是那种输一个字就把这个字开头的都感应出来可以选择那种,选择感应的项的话oninput就不激发了。
  暂时没有想到什么好的解决办法,我现在加了个浏览器判断非ie的话就注册blur事件,这样有个问题就是blur实在别的控件活动焦点的时候,txtStation控件注册的方法是为了填充它紧挨着的一个下拉列表,这样写完txtStation的内容后选择下拉列表时才激发blur,有二次刷新出现,没啥大影响,只不过用户第一次点击无效了。谁有好方法告诉我一声。

代码
复制代码 代码如下:

if($.browser.msie)
{
$("#").bind("propertychange", GetStationLevel);
}
else
{
$("#").bind("blur", GetStationLevel)
}

  看了看前面好像没写啥内容,标题挺有气势,哈哈。写一下是为怕自己忘记
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn