关于 jQuery 事件处理,我有一些不明白的地方。我在使用 jQuery UI可排序小部件时发现了这个问题。我试图在小部件上触发排序事件。
假设我有一个简单的 HTML 列表:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
我首先尝试像这样触发排序事件:
$('ul').sortable({
start: function() { console.log("drag started"); }
});
// No output to the console from this line
$('ul').trigger('sortstart');
这段代码有问题吗?启动回调函数没有被调用……有没有办法触发这个回调?但是,我发现以下方法确实有效:
$('ul').sortable();
$('ul').on('sortstart', function() { console.log('drag started'); });
// This line does cause the console to output 'drag started'
$('ul').trigger('sortstart');
我很想知道为什么第一次尝试失败了。