Jquery - 自定义ui.ja

时间:2014-04-08 14:30:14

标签: javascript jquery user-interface plugins

我正在使用jquery的“ui.js”和“ui.css”。

当我有这个片段时:

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

一切正常,但当用户选择一个项目时,我想发起一个事件:

$(document).ready(function () {
    $('input#tags').on('change', function() {
      alert("event")
    });
});

它不起作用,有人知道如何在用户选择项目时触发事件吗?

问候!

1 个答案:

答案 0 :(得分:0)

您的代码原样正常:

JSFiddle:http://jsfiddle.net/TrueBlueAussie/Vnhd8/

几个笔记......

  • 当您使用change而不是keyup时,您需要离开该字段才能触发事件。
  • 现代/首选onload语法只是$(function{...});
  • 由于id应该在页面上是唯一的,并且是最快的查找方法,因此在id之前添加input选择器可能会减慢搜索速度。

Neater版本

$(function () {
    $('#tags').on('change', function() {
      alert("event")
    });
});

如果您要允许动态创建的元素,请使用应用于不更改的元素的on的延迟语法(并且是目标的祖先):

延期“on”版本:

$(function () {
    $(document).on('change', '#tags', function() {
      alert("event")
    });
});

如果您想要每按键事件:

JSFiddle:http://jsfiddle.net/TrueBlueAussie/Vnhd8/4/

$(function () {
    $(document).on('keyup', '#tags', function() {
      alert('event');
    });
});

上面只有最后一个JSFiddle使用jQueryUI(只是为了确保它与事件没有区别)。