Tag: dom

使用Angular加载部分页面并编译控制器

在大规模应用程序中,我们的Web应用程序可能会组织成单独的部分页面,以增加应用程序的模块性。 在某些情况下,使用Angular $ http.get或JQuery $ .load编译通过XHR或Ajax请求加载的部分页面将引入错误。 以我的场景为例,我正在使用Kohana PHP框架,因此我可以在服务器级别上控制我的Web应用程序的模块性。 像往常一样,所有模板和页面都被分离到视图中,将所有HTML,JS和CSS放在表示层上。 这将为我在客户端处理上实现Javascript MVW / MVC堆栈提供极大的灵活性,因为我的Web应用程序在很大程度上依赖于从后端应用程序获取数据的AJAX请求。 在我的场景中,我使用AngularJS和以下是关于如何将模型中的数据呈现给客户端的简单伪。 Kohana模型> Kohana控制器> Kohana查看> XHR> JQuery \ Angular> DOM 我的应用程序中的一部分真的让我碰到并让我喝几瓶新陈代谢饮料来解决应用问题。 我在哪里有一个modal dialog,部分页面从服务器通过XHR加载并附加到选定的DOM。 问题是当Angular尝试编译部分页面时,当它找到ng-controller指令时,它将查找引用已处理指令的函数。 由于DOM解析器尚未评估控制器,因此产生错误。 但是,当您在加载部分页面之前在应用程序中的某个位置预先启用该function时,一切正常。 下面是我如何设置一个Dialog服务的示例,当我点击上述链接时,该服务将从link指令调用。 var dialogService = angular.module(‘dialog.service’, []); dialogService.factory(‘Dialog’, function($http,$compile){ var dialogService = {}; dialogService.load = function(url, scope){ $(“#dialog:ui-dialog”).dialog( “destroy” ); $(“#dialog”).attr(‘title’,’Atlantis’); $http.get(url).success(function (data) { html = $compile(data)(scope); $(‘#dialog-content’).html(html); […]

记录或记录所有浏览器DOM / JQuery事件

我有一个问题,需要以某种浏览器事件(点击,焦点,?)触发后,以编程方式(在javascript中)发生在第三方组件中发生的事情。 我不知道事件类型,事件绑定的元素或适当的参数。 -Tried设置子树修改的Chrome断点,但没有任何效果。 – 尝试检查jQuery事件,但数据(’事件’)没有显示任何有用的东西 – 他们必须使用DOM事件。 是不是应该有一些方法记录/捕获/记录浏览器中的所有事件,然后检查它们(甚至回放它们)? 这似乎是找出我想要找到的唯一方法。

jQuery – 从数组中获取元素作为jQuery元素?

如果我打电话 $(“.myClass”) 我得到了一系列元素。 如果我现在想要将第一个元素作为jquery元素,我会做这样的事情: $($(“.myClass”).get(0)) 所以我包装DOM-Element,我再次使用jQuery运算符从数组中获取。 有没有更优雅的方式来做到这一点? 一些get方法,例如返回一个jQuery元素?

Bootstrap按钮在移动设备上“卡住”

每当我点击一个带有我的移动设备(android)的按钮在twitter的boostrap按钮上,但按钮得到奇怪的样式,就像鼠标仍然结束,直到我点击另一个元素才释放。 这不是应用于元素的活动类。 它很微妙,但非常烦人,特别是当我尝试将样式应用到他们不会显示的按钮,直到我点击不同的元素。 尝试在移动设备上访问http://twitter.github.com/bootstrap/base-css.html#buttons并单击一个按钮,你会看到我的意思 我尝试使用jquery触发各种事件但没有任何效果,这是我在我的javascript结束时的片段 $(document).on(‘tapclick’, ‘.btn’, function() { $(this).blur(); $(this).trigger(‘mouseup’); }); 并尝试在hover时重写css样式 .btn a:hover,.btn a:link,.btn a:visited,.btn a:active{ text-decoration: none !important; cursor: default !important; background-color: transparent !important; background-image: none !important; }

jQuery DataTables隐藏列而不从DOM中删除它

我需要隐藏列以显示在jquery数据表中。 当我使用bVisible属性隐藏列时,它会从DOM中消失。 我想将列的表格单元格的显示属性设置为无,以便这些值不会出现在视图中,但它们仍然应该存在于DOM中,因为我隐藏的列唯一地标识了行,我需要知道唯一的行选择ID。 如何实现这一目标。 我使用服务器端分页使用aaData属性填充表。 看看这个问题,但这些选项将其从DOM中删除。 jquery datatables隐藏列

中元素的Jquery选择器

我们使用jQuery来解析一些HTML。 然后我需要遍历该文档并找到一些元素。 在我需要找到的元素中,有元素。 这非常适合提取所有元素: $(string).find(“a”) 但是这不能解压缩元素: $(string).find(“link”) string参数是html内容(例如,在请求时接收)。 知道为什么吗? (我猜这个find只适用于元素)。 另外,关于如何实际提取这些元素的任何想法?

使用jQuery的ASP.NET MVC AJAX

我有一个网站,每个用户的页面显示注释,并允许其他用户添加注释。 我想拥有它,所以添加注释表单在页面上,当用户添加注释时,它将被添加到数据库并显示在带有AJAX的注释部分中。 我正在使用jQuery for AJAX和LINQ to SQL来处理数据库逻辑。 如何执行此操作以便在将注释添加到数据库之后,将刷新和更新注释部分而不刷新页面?

如何刷新存储和快照的jquery选择器变量

我昨天遇到了一个问题,一个jquery-selector我分配给一个变量,这让我很生气。 这是一个带有testcase的jsfiddle: 将.elem分配给我的obj var 将两个长度记录到控制台。 结果=> 4 从DOM中删除#3 log obj to console =>删除的#3仍在那里,长度仍为4.我发现jquery查询是快照的? 变量而不能?不会? 得到更新 将.elem登录到控制台..是的结果=> 3,#3消失了 现在我更新.elem,新宽度为300 logging obj&obj.width给了我300 ..所以快照已更新? 有趣的是,4个div中有3个具有新的宽度,但删除的#3没有…… 另一个测试:将一个li元素添加到domtree并记录obj和.elem。 .elem确实有新的li而obj没有,因为它仍然是旧的快照 http://jsfiddle.net/CBDUK/1/ 有没有办法用新内容更新此obj? 我不想做一个新的obj,因为在我的应用程序中有很多信息保存在该对象中,我不想破坏…

简单的jQuery ajax示例在返回的HTML中找不到元素

我正在尝试学习jQuery的ajax函数。 我有它工作,但jQuery没有在返回的HTML DOM中找到元素。 在与jquery相同的文件夹中,运行此页面: runthis $(document).ready(function(){ $(‘input’).click(function(){ $.ajax({ type : “GET”, url : ‘ajaxtest-load.html’, dataType : “html”, success: function(data) { alert( data ); // shows whole dom alert( $(data).find(‘#wrapper’).html() ); // returns null }, error : function() { alert(“Sorry, The requested property could not be found.”); } }); }); }); </script 加载此页面“ajaxtest-load.html”: load this test […]

调用DOM提交方法时,jQuery提交事件未被触发

当我使用DOM表单提交方法提交表单时,即使w3c说:“它执行与提交按钮相同的操作”,也不会调用jQuery提交事件处理程序 。 我试过jQuery 1.11.0和2.1.0。 submit onClick 有关完整示例,请参见http://jsfiddle.net/g0kxmdmw/6/ 。 在Firefox和Chrome中,按文本输入中的Enter键,单击“提交按钮”和“提交jquery”将全部触发处理程序并取消表单提交,而“提交onClick ”和“提交js dom”不会触发处理程序,并将执行提交( GET请求)。 我希望调用submit方法会显示与单击提交按钮相同的行为,但事实并非如此。 这是jQuery中的错误吗?