javascript jquery asp.net-mvc

javascript - tooltip html



JQuery-$ no está definido (30)

Tengo un simple evento click jquery

<script type="text/javascript"> $(function() { $(''#post'').click(function() { alert("test"); }); }); </script>

y una referencia jquery definida en el site.master

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

He comprobado que la secuencia de comandos se está resolviendo correctamente, puedo ver el marcado y ver la secuencia de comandos directamente en firebug, por lo que debo encontrarme. Sin embargo, todavía estoy recibiendo:

$ no está definido

Y ninguno de los trabajos de jQuery. También he probado las diversas variaciones de este como $ (document) .ready y jQuery etc.

Es una aplicación MVC 2 en .net 3.5, estoy seguro de que estoy siendo muy denso, en todas partes en google dice que para verificar que el archivo esté correctamente referenciado, lo cual he revisado y comprobado nuevamente, ¡por favor avise! : /


  1. Compruebe que la ruta exacta de su archivo jquery está incluida.

    <script src="assets/plugins/jquery/jquery.min.js"></script>

Si agrega esto en la parte inferior de su página, llame a la función JS debajo de esta declaración.

  1. Compruebe utilizando este código de prueba,

    <script type="text/javascript"> /*** * Created by dadenew * Submit email subscription using ajax * Send email address * Send controller * Recive response */ $(document).ready(function() { //you can replace $ with Jquery alert( ''jquery working~!'' ); });

¡Paz!



Acaba de poner la biblioteca jQuery en la sección principal del html :)

<head> <script src="assets/js/jquery-1.10.2.min.js"></script> <script src="assets/js/bootstrap.min.js"></script> </head>


Acabo de hacer lo mismo y descubrí que tenía un montón de

type="text/javacsript"

Así que se estaban cargando, pero no hubo más indicios de por qué no funcionaba. No hace falta decir que la ortografía adecuada lo arregló.


Asegúrate de que realmente cargues jquery, esto no es jquery, ¡es la interfaz de usuario!

<script language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"> </script>

Esta es una fuente de script correcta para jquery:

<script language="JavaScript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>


Como se indicó anteriormente, sucede debido al conflicto de $ variable.

Resolví este problema reservando una variable secundaria para jQuery sin conflicto.

var $j = jQuery.noConflict();

y luego usarlo en cualquier lugar

$j( "div" ).hide();

más detalles se pueden encontrar here


Cuando use jQuery en asp.net, si está usando una página maestra y está cargando el archivo fuente de jquery allí, asegúrese de tener el titular del lugar de contenido del encabezado después de todas las referencias del script de jquery.

Tuve un problema donde cualquier página que usara esa página maestra devolvería ''$ no está definido'' simplemente porque el orden incorrecto hacía que el código del lado del cliente se ejecutara antes de que se creara el objeto jquery. Así que asegúrate de tener:

<head runat="server"> <script type="text/javascript" src="Scripts/jquery-VERSION#.js"></script> <asp:ContentPlaceHolder id="Header" runat="server"></asp:ContentPlaceHolder> </head>

De esa manera, el código se ejecutará en orden y usted podrá ejecutar el código jQuery en las páginas secundarias.


Después de probar todo aquí sin resultado, resolví el problema simplemente moviendo la etiqueta de script src de cuerpo a cuerpo


En la solución se menciona: "Una última cosa que debe verificar es asegurarse de que no está cargando ningún complemento antes de cargar jQuery. Los complementos extienden el objeto" $ ", por lo que si carga un complemento antes de cargar jQuery core, entonces Obtendré el error que describiste ".

Para evitar esto ...

Muchas bibliotecas de JavaScript usan $ como función o nombre de variable, al igual que jQuery. En el caso de jQuery, $ es solo un alias para jQuery, por lo que toda la funcionalidad está disponible sin usar $. Si necesitamos usar otra biblioteca de JavaScript junto con jQuery, podemos devolver el control de $ a la otra biblioteca con una llamada a $ .noConflict ():


En mi caso estaba apuntando a Google alojado en JQuery. Se incluyó correctamente, pero estaba en una página HTTPS y lo llamé a través de HTTP. Una vez que solucioné el problema (o permití contenido inseguro), se activó de inmediato.


Ese error significa que jQuery aún no se ha cargado en la página. El uso de $(document).ready(...) o cualquier variante del mismo no servirá de nada, ya que $ es la función jQuery.

El uso de window.onload debería funcionar aquí. Tenga en cuenta que solo se puede asignar una función a window.onload . Para evitar perder la lógica de carga original, puede decorar la función original así:

originalOnload = window.onload; window.onload = function() { if (originalOnload) { originalOnload(); } // YOUR JQUERY };

Esto ejecutará la función que se asignó originalmente a window.onload , y luego ejecutará // YOUR JQUERY .

Consulte https://en.wikipedia.org/wiki/Decorator_pattern para obtener más detalles sobre el patrón decorador.


Ese error solo puede ser causado por una de tres cosas:

  1. Su archivo JavaScript no se está cargando correctamente en su página
  2. Tienes una versión fallida de jQuery. Esto podría suceder porque alguien editó el archivo principal, o un complemento puede haber sobrescrito la variable $.
  3. Tiene JavaScript ejecutándose antes de que la página esté completamente cargada, y como tal, antes de que jQuery esté completamente cargada.

Debe comprobar el panel de la red Firebug para ver si el archivo se está cargando correctamente. Si no, se resaltará en rojo y dirá "404" al lado. Si el archivo se carga correctamente, eso significa que el problema es el número 2.

Asegúrese de que todo el código jQascript de jQuery se esté ejecutando dentro de un bloque de código como:

$(document).ready(function () { //your code here });

Esto asegurará que su código se esté cargando después de que se haya inicializado jQuery.

Una última cosa para verificar es asegurarse de que no esté cargando ningún complemento antes de cargar jQuery. Los complementos extienden el objeto "$", por lo que si carga un complemento antes de cargar jQuery core, obtendrá el error que describió.

Nota: si está cargando un código que no requiere que se ejecute jQuery, no es necesario colocarlo dentro del controlador de jQuery ready. Ese código puede ser separado usando document.readyState .


Estaba teniendo el mismo problema y no podía averiguar qué lo estaba causando. Hace poco convertí mis archivos HTML de japonés a UTF-8, pero no hice nada con los archivos de script. De alguna manera jquery-1.10.2.min.js se corrompió en este proceso (todavía no tengo idea de cómo). Reemplazando jquery-1.10.2.min.js con el original lo arregló.


Hay una forma de hacerlo cargar automáticamente javascript antes de que se ejecute el resto del código.

Vaya a Views / Shared_Layout.html y agregue lo siguiente

<head> <*@ Omitted code*@> <script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript"></script> </head>


Primero debe asegurarse de que el script jQuery esté cargado. Esto podría ser de un CDN o local en su sitio web. Si no carga esto primero antes de intentar usar jQuery, le dirá que jQuery no está definido.

<script src="jquery.min.js"></script>

Esto podría estar en el HEAD o en el pie de página de la página, solo asegúrate de cargarlo antes de intentar llamar a cualquier otra cosa de jQuery.

Entonces necesitas usar una de las dos soluciones a continuación

(function($){ // your standard jquery code goes here with $ prefix // best used inside a page with inline code, // or outside the document ready, enter code here })(jQuery);

o

jQuery(document).ready(function($){ // standard on load code goes here with $ prefix // note: the $ is setup inside the anonymous function of the ready command });

tenga en cuenta que muchas veces $ (document) .ready (function () {// code here}); No funcionará, especialmente cierto en wordpress.


Puede ser que tenga su etiqueta de script llamada antes de llamar al script jquery.

<script type="text/javascript" src="js/script.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

Este resultado como $ no está definido

Coloca el jquery.js antes de tu etiqueta de script y funcionará;) así:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript" src="js/script.js"></script>


Recibí el mismo mensaje de error cuando escribí mal la referencia de jQuery y en lugar de type="text/javascript" , escribí "... javascirpt". ;)


Si la llamada del complemento jQuery está al lado de </body> , y su script está cargado antes de eso, debe hacer que su código se ejecute después del evento window.onload , como este:

window.onload = function() { //YOUR JQUERY CODE }

`

por lo tanto, su código se ejecutará solo después de la carga de la ventana, cuando se hayan cargado todos los activos. En ese punto, se definirá el jQuery ( $ ).

Si usas eso:

$(document).ready(function () { //YOUR JQUERY CODE });

`

El $ aún no está definido en este momento, porque se llama antes de que se cargue jQuery, y su script fallará en esa primera línea en la consola.


Significa que su biblioteca jQuery no se ha cargado todavía.

Puede mover su código después de tirar de la biblioteca jQuery.

o puedes usar algo como esto

window.onload = function(){ // Your code here };


Simplemente coloque la URL de jquery en la parte superior de su código de jquery

Me gusta esto--

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script> <script type="text/javascript"> $(function() { $(''#post'').click(function() { alert("test"); }); }); </script>


Suena como si jQuery no se carga correctamente. ¿Qué fuente / versión estás usando?

Alternativamente, podría ser una colisión de espacio de nombres, así que intente usar jQuery explícitamente en lugar de usar $ . Si eso funciona, es posible que noConflict utilizar noConflict para asegurarse de que el otro código que usa $ no se rompa.


Tenemos el mismo problema ... pero accidentalmente revisé las propiedades de la carpeta y configuré algo ...

Debe verificar las propiedades de cada carpeta a la que está accediendo.

  1. clic derecho en la carpeta
  2. pestaña ''permisos''
  3. configurar el acceso a la carpeta: PROPIETARIO: crear y eliminar archivos GRUPO: acceder a archivos OTROS: acceder a archivos

Espero que esta sea la solución ......


Tengo el mismo problema y en ningún caso me resuelven el problema. Lo único que funciona para mí, se coloca en el archivo Site.master, lo siguiente:

<script src="<%= ResolveUrl("~/Scripts/jquery-1.7.1.min.js") %>" type="text/javascript"></script> <script src="<%= ResolveUrl("~/Scripts/bootstrap/js/bootstrap.min.js") %>" type="text/javascript"></script>

Con src = "<% = ResolveUrl (" ") ... la carga de jQuery en las Páginas de contenido es correcta.


Tuve el mismo problema y fue porque mi referencia a jQuery.js no estaba en la etiqueta. Una vez que cambié eso, todo comenzó a funcionar.

Antonio


Tuve este problema una vez sin razón aparente. Ocurría localmente mientras corría a través del servidor de desarrollo aspnet. Había estado funcionando y lo revertí todo a un estado en el que anteriormente había estado trabajando y aún no funcionaba. Busqué en el depurador de chrome y el jquery-1.7.1.min.js se había cargado sin ningún problema. Todo fue muy confuso. Todavía no sé cuál fue el problema, pero cerrando el navegador, cerrando el servidor de desarrollo y luego volví a intentar solucionarlo.


Tuve un problema muy similar. En mi aplicación C # MVC, JQuery no estaba siendo reconocida. Necesitaba mover el @ Scripts.Render ("~ / bundles / jquery") desde la parte inferior de mi archivo _Layout.cshtml al encabezado de la sección. ¡También asegúrate de haber tomado Jquery como un paquete de Nuget si estás usando Visual Studio!

<head> @Scripts.Render("~/bundles/jquery") </head>


Utilice una sección de scripts en la vista y el diseño maestro.

Coloque todos sus scripts definidos en su vista dentro de una sección de Scripts de la vista. De esta manera puede hacer que el diseño maestro cargue esto después de que se hayan cargado todos los demás scripts. Esta es la configuración predeterminada al iniciar un nuevo proyecto web MVC5. No estoy seguro acerca de las versiones anteriores.

Vistas / Foo / MyView.cshtml:

// The rest of your view code above here. @section Scripts { // Either render the bundle defined with same name in BundleConfig.cs... @Scripts.Render("~/bundles/myCustomBundle") // ...or hard code the HTML. <script src="URL-TO-CUSTOM-JS-FILE"></script> <script type="text/javascript"> $(document).ready(function () { // Do your custom javascript for this view here. Will be run after // loading all the other scripts. }); </script> }

Vistas / Compartido / _Layout.cshtml

<html> <body> <!-- ... Rest of your layout file here ... --> @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false) </body> </html>

Observe cómo la sección de scripts se representa en último lugar en el archivo de diseño maestro.


Utilizo Url.Content y nunca tengo un problema.

<script src="<%= Url.Content ("~/Scripts/jquery-1.4.1.min.js") %>" type="text/javascript"></script>


después de algunas pruebas encontré una solución rápida, puede agregar en la parte superior de su página de índice:

<script> $=jQuery; </script>

funciona muy bien :)


parece que si ubica sus archivos jquery.js en la misma carpeta o en algunas subcarpetas donde se encuentra su archivo html, se solucionó el problema de Firebug. por ejemplo, si su html está en C: / folder1 /, entonces sus archivos js deberían estar en algún lugar en C: / folder1 / (o C: / folder1 / folder2, etc.) y también deben abordarse en consecuencia en el documento html. espero que esto ayude.