在以下源代碼中,typedef是$的含義。我已閱讀this link。
typeof允許標識符永遠不會被聲明。所以在這方面比較安全:
但是這裏他們使用的是if (typeof $ !== 'undefined')
,這裏$
的含義是什麼。
我複製下面的代碼從this link
<script type="text/javascript">
if (typeof horizon.d3_line_chart !== 'undefined') {
//alert("test1");
//When first time It give alert means it is defiend
horizon.d3_line_chart.init("div[data-chart-type='line_chart']",
{'auto_resize': true});
}
if (typeof $ !== 'undefined') {
//alert("alert2");
/*
We first time we run resource usage, then It will show alert, and date options are not showing. So means first time It hides the date options. Means '$' varaible is defined.
*/
show_hide_datepickers();
} else {
addHorizonLoadEvent(function() {
show_hide_datepickers();
});
}
function show_hide_datepickers() {
$("#date_options").change(function(evt) {
// Enhancing behaviour of selectbox, on 'other' value selected, I don't
// want to refresh, but show hide the date fields
if ($(this).find("option:selected").val() == "other"){
evt.stopPropagation();
$("#date_from input, #date_to input").val('');
$("#date_from, #date_to").show();
} else {
$("#date_from, #date_to").hide();
}
});
if ($("#date_options").find("option:selected").val() == "other"){
$("#date_from, #date_to").show();
} else {
$("#date_from, #date_to").hide();
}
}
</script>
當然要確保JQuery(或另一個庫?)被加載並綁定到'$' –
@MichaelLaffargue,謝謝你的回覆,以及'typeof horizon.d3_line_chart!=='undefined''的含義是什麼 – geeks
檢查horizon.d3_line_chart類是否包含在內 –