我禁用了以[[test结尾的id
的页面中的所有选择(这里一切都很好),我想做的是在禁用选择时显示title
鼠标悬停在它们上面。
disabled
属性似乎阻止了每个事件的执行(我也尝试使用click
而不是mouseover
,但结果没有改变)。实际上,我尝试注释hide_children_option();
并且该功能起作用。所以主要问题是:我可以禁用选择,但同时触发事件(或至少使我认为是真实的)吗?
代码段下方:
function hide_children_option() {
$("[id$=_test]").attr("disabled", "disabled");
}
$(document).ready(function() {
hide_children_option();
$("[id$=_test]").mouseover(function() {
console.log("Hey you!");
var attr = $(this).attr("disabled");
if (typeof attr !== typeof undefined && attr !== false) {
console.log("This is disabled");
}
});
});
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
Official 1
<select id="obj1_official">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Test 1
<select id="obj1_test">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Official 2
<select id="obj2_official">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Test 2
<select id="obj2_test">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
title=""
属性,并显示工具提示 function hide_children_option() {
$("[id$=_test]").attr("disabled", "disabled");
}
$(document).ready(function() {
hide_children_option();
$(".test-wrapper").mouseover(function() {
console.log('hey!');
});
});
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
Official 1
<select id="obj1_official">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Test 1
<select id="obj1_test" title="Some text you want to show">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Official 2
<select id="obj2_official">
<option value="0">0</option>
<option value="1">1</option>
</select>
<br>
Test 2
<div class="test-wrapper" style="display:inline;">
<select id="obj2_test" style="pointer-events:none;">
<option value="0">0</option>
<option value="1">1</option>
</select>
</div>
<br>