当通过 id 选择器调用 jQuery 的触发函数时,是否可以触发由同一元素的类选择器定义的该元素的事件处理程序?例如,假设我有这个 HTML:
<div class="my_button" id="my_button_1"></div>
而这个 jQuery
$('.my_button').click(function() {
alert("button was clicked")
});
我正在寻找 call $('#my_button_1').trigger('click')
... 并让它以最干净的方式触发该元素的上述 jQuery。任何帮助表示赞赏。
编辑:根据下面的评论,这显然不是 jQuery 的问题。这是正在使用的实际代码。
{% block javascripts %}
{{ include('MyMainBundle:Event:wizard.js.twig') }}
{% endblock %}
Wizard.js 中定义的处理程序:
$('.event_type_option').click(function() {
alert('option clicked');
Event.eventTypeId = $(this).attr('id').substring(11);
customComboSelect(this, $('#event_type_text'));
});
$('.people_range_option').click(function() {
alert('range clicked');
Event.peopleRangeId = $(this).attr('id').substring(13);
customComboSelect(this, $('#people_range_text'));
});
试图触发以下事件:
{% if event is defined %}
<script>
$(document).ready(function() {
$('#event_type_{{ event.eventType.id }}').trigger('click');
$('#people_range_{{ event.peopleRange.id }}').trigger('click');
});
</script>
{% endif %}
此外,如果我尝试在处理程序定义之后直接触发事件,则会成功触发事件。