【发布时间】:2019-12-06 16:42:34
【问题描述】:
当我尝试在元素上应用 jquery 事件或 css 样式时,它不起作用,相反,如果使用像 id="delCoord" 这样的静态事件并更改 css/jquery 甚至监听器,它会起作用。谁能解释一下原因
注意我使用 fontawsome 免费 5.6.3。 谢谢
$('body').on('click', 'span[id^="edit-delCoordSet"]', function() {
alert('YOU SHOULD SEE ME !!!!!');
return false; // i just set this up for tests !!!
var coordsValueIdx = $(this).parent('.editCoords').attr('data-elNumber');
console.log('try to delete: ' + $(this).attr('id'));
jqEl = $(this);
console.log('html element ' + jqEl);
updateCaveCoords(coordsValueIdx, '', '', jqEl, add = false, del = true, modify = false)
});
span[id^="edit-delCoordSet"] {
padding: 0.3em 1em 0.3em 1em;
}
span[id^="edit-delCoordSet"]:hover {
background-color: grey;
}
<link href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="editCoords" data-elnumber="0">
X:<input type="text" class="coords" data-elnumber="0" value="4.8552"> Y:
<input type="text" class="coords" data-elnumber="1" value="43.32000"> Z:
<input type="text" class="coords" data-elnumber="2" value="475">
<span class="fas fa-trash-alt fa-lg" id="edit-delCoordSet-0"></span>
</div>
<div class="editCoords" data-elnumber="1">
X:<input type="text" class="coords" data-elnumber="0" value="4.8552"> Y:
<input type="text" class="coords" data-elnumber="1" value="43.32000"> Z:
<input type="text" class="coords" data-elnumber="2" value="475">
<span class="fas fa-trash-alt fa-lg" id="edit-delCoordSet-1"></span>
</div>
【问题讨论】:
-
似乎在这里工作:jsfiddle.net/cvbsaxnt/1 你的控制台中是否有任何错误?
-
不,控制台没有错误。
-
我编辑了您的问题并使用了 SO 的 sn-p-handler。使用该 sn-p,我无法重现您描述的行为。你能?实际上,如果您将
span转换为div(获取 id)和span(仅具有 fa 属性),可能会对您有所帮助。 -
好吧,我找到了罪魁祸首!我正在使用 fontawsome jquery 扩展。所以我的 被替换为
标签: jquery css css-selectors font-awesome