Я написал образец jQuery-программы и обнаружил, что функция triclick() вызывается во время загрузки документа jQuery.
Если я заменил part1 на part2, функция click() будет работать нормально. Просьба уточнить, где я ошибаюсь?
Я хочу, чтобы элемент H2 исчезал при щелчке по H3. Но элемент H2 скрывается на самой загрузке.
Часть 1:
$(document).ready(function()
{
$("h1").hide();
$("h3").click(triclick());
});
function triclick()
{
$("h2").hide();
alert('H2 is hidden');
}
Часть 2: работает нормально при нажатии
$(document).ready(function()
{
$("h1").hide();
$("h3").click(function()
{
$("h2").hide();
alert('H2 is hidden');
});
});
Полная программа:
У вас есть две функции: анонимная функция:
$(document).ready(function() {
$("h1").hide();
$("h3").click(function(){triclick()});
});
Или просто:
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});
Yous должен передавать только ссылку на функцию клику и не вызывать функцию.
проблема в
. $ ( "H3") нажмите кнопку (triclick());
это означает, что при нажатии "h3" он запустит результат, возвращаемый функцией "triclick",
но здесь вы должны перенести параметр имя функции, а не функцию execute-result;
вы должны знать, что скобки являются оператором в javascript, когда он следует определенному имени функции, он будет иметь функцию, выполняемую в выражении функции.
измените код на
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});
при нажатии кнопки "h3" запускается функция triclick
вам нужно передать только имя функции. () <- означает его выполнение
$(document).ready(function() {
$("h1").hide();
$("h3").click(triclick);
});