Jquery больше не работает, так как PHP включает в себя и импорт внешних файлов - PullRequest
1 голос
/ 04 января 2011

Я заметил, что мой код jquery больше не работает, так как я начал делать некоторые php-включения.

Очевидно, я бы хотел, чтобы мой код был импортирован из файла js с главной страницы index.php.Тем не менее, мой HTML-код будет сгенерирован из PHP включает (я не знаю, если это может быть проблемой).

В любом случае, вот структура моей страницы PHP (index.php):

[...]
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/comments.js"></script>
</head>
<body>

<?php
// HEADER -----------------------------------------------
include("front/index/header.php");
// ------------------------------------------------------
?>

<div class="containerMiddleFullSize">
<div class="containerMiddle">

<?php

// BODY -------------------------------------------------
if ($_GET['page'] == "home")
{
    include("front/index/home.php");
}
[...]

Вот мой код jquery (js / comments.js):

$(function() 
{

$(".content").Watermark("Écrire un commentaire...");

$(".content").focus(function()
{
$(this).height("50px"); //animate({"height": "50px",}, "fast" );
$(this).next(".button_block").slideDown("fast");

return false;
});

$(".cancel").click(function()

$(this).parent(".button_block").slideUp("fast").prev(".content").height("18px");
return false;
//}
});

});

Любая помощь приветствуется;)

Ура,

Gotye.

Ответы [ 3 ]

0 голосов
/ 04 января 2011

Как вы сказали, ваш Javascript работает нормально, если вы не включили ваши файлы PHP. Но он перестает работать, как только вы включите их. Поэтому, пожалуйста, убедитесь, что у вас нет открытых тегов HTML. Иногда неполные теги создают проблему для работы JS.

Спасибо! Хуссейн

0 голосов
/ 04 января 2011

может быть, вы вырезали и вставили это неправильно, но, может быть, добавить открытую скобку для функции onclick? изменить:

 $(".cancel").click(function()

 $(this).parent(".button_block").slideUp("fast").prev(".content").height("18px");
 return false;
 //}
 });

до:

 $(".cancel").click(function()
 {
   $(this).parent(".button_block").slideUp("fast").prev(".content").height("18px");
   return false;
 });
0 голосов
/ 04 января 2011

Попробуйте изменить определения для использования живой функции, например:

$(".cancel").live("click", function() { ...

Я предполагаю, что во время вызова вашего JS рассматриваемые элементы не существуют, поэтому с ними ничего не связано.Использование live гарантирует, что любые будущие элементы с указанными характеристиками будут связаны правильно.

...