triggerHandler()方法类似于trigger()方法。除了它不会触发事件的默认行为(如表单提交)和它只会影响第一个匹配的元素。
但我用2输入标签测试并使用
$("input").triggerHandler("select");
HTML:
<input type="text" name="FirstName" value="Hello World" />
<input type="text" name="FirstName" value="Hello" />
JavaScript的:
$(document).ready(function(){
$("input").select(function(){
$("input").after(" Input select event occured!");
});
$("button").click(function(){
$("input").triggerHandler("select");
});
});
答案 0 :(得分:3)
仅在第一个元素上触发事件。但是,您的代码在发生这种情况时会输出两个行:
$("input").after(" Input select event occured!");
该行,运行一次,将在所有匹配的input
元素后追加文本。由于有两个匹配元素,即使事件仅针对第一个元素触发,也会看到该行两次。
只需将该行更改为
即可$(this).after(" Input select event occured!");
...并且您将看到仅在触发事件的元素之后附加的输出。 Live Copy,只需更改上述内容并删除在页面上包含MooTools的选项。