条件表达式中的JavaScript标记类型,如果
我不明白为什么单击条件表达式中的JavaScript标记类型,如果,javascript,jquery,Javascript,Jquery,我不明白为什么单击按钮后,if中的条件为true。在以下情况下,我预计单击上述按钮不会执行指令: $('.table tbody tr')。单击(函数(事件){ if(event.target.type!=“单选”&&event.target.type!=“按钮”){ $(':radio',this).trigger('click'); $(“tr”).removeClass(“当前默认值”); $(this.addClass(“curr_default”); } }); {currs%中的
按钮后,if
中的条件为true
。在以下情况下,我预计单击上述按钮不会执行指令:
$('.table tbody tr')。单击(函数(事件){
if(event.target.type!=“单选”&&event.target.type!=“按钮”){
$(':radio',this).trigger('click');
$(“tr”).removeClass(“当前默认值”);
$(this.addClass(“curr_default”);
}
});
{currs%中的curr为%s}
{{loop.index}}
{{curr.abbr}}
{{curr.name}
{%endfor%}
单击按钮时,您很可能会点击按钮内的span
,然后在侦听器中单击事件.target.type
将是未定义的
因此,要么重新修改条件以覆盖其他元素,要么可以使用指针事件:无因此,当单击按钮时,点击将点击按钮而不是span
而不是。您很可能会点击按钮内的span
,在点击侦听器中,事件。target.type
将是未定义的
因此,要么重新修改条件以覆盖其他元素,要么可以使用指针事件:无在span
上使用code>(CSS),因此单击将点击按钮而不是span
<table>
<tbody>
{% for curr in currs %}
<tr class="{% if curr.default == curr.abbr %}curr_default{% endif %}">
<th scope="row">{{ loop.index }}
<span class="radio">
<input type="radio" name="curr_default" />
</span>
</th>
<td>{{ curr.abbr }}</td>
<td>{{ curr.name }}</td>
<td>
<button id="{{ curr.id }}" onClick="get_currID(this.id)" type="button" class="btn p-0 w-auto"
data-toggle="modal" data-target="#deleteCurrency">
<span class="fa fa-trash text-danger"></span>
</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>