自从新的Greasemonkey 1.0在几天前发布以来,每个有jQuery的站点和我在Greasemonkey脚本中使用jQuery的地方都不会正确运行我的脚本。 我在GS脚本中使用的jQuery(使用@require元数据)与页面的jQuery冲突。 这是由于新的@grant代码。 我已经阅读了文档,但仍不知道如何在沙盒中再次运行GS脚本; 唯一的选择似乎是授予对GS API的访问权限,或者将其授予none,并在没有任何安全限制的情况下运行该脚本,在设计我的几十个GS脚本运行时,这对我来说根本不起作用有安全限制,就像这样。
对于HTML中的这个下拉列表: <select id="countries"> <option value="1">Country</option> </select> 我想打开列表(与左键单击相同)。 这是可能的使用JavaScript(或更具体的jQuery)?
所以在阅读最近回答的问题后,我不清楚我是否真正理解了mouseenter()和mouseover()之间的区别。 该帖子说 鼠标移到(): 在进入一个元素时,只要元素内出现任何鼠标移动,就会触发。 的MouseEnter(): 将进入一个元素将触发。 我想出了一个小提琴 ,他们似乎很相似。 有人可以向我解释两者之间的区别吗? 我也尝试阅读JQuery定义,都说同样的事情。 当鼠标指针进入元素时,mouseover事件被发送到一个元素 当鼠标指针进入元素时,mouseenter事件被发送到一个元素。 有人可以请示例澄清?
我想绑定一个onclick事件到我用jQuery动态插入的元素 但是它从不运行绑定的函数。 如果你能指出为什么这个例子不起作用以及如何让它正常运行,我会很高兴: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da"> <head> <title>test of click binding</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> jQuery(function(){ close_link = $('<a class="" href="#">Click here to see an alert</a>'); close_link.bind("click", function(){ alert('hello from binded function call'); //do stuff here… }); $('.add_to_this').append(close_link); }); </script> </head> <body> <h1 >Test of […]
我在这里和网上的其他地方阅读了一些关于live()和delegate()之间差异的文章。 但是,我还没有找到我正在寻找的答案(如果这是一个骗局,请告诉我)。 我知道live和delegate之间的区别在于live不能在连锁中使用。 我还在某处读了一些delegate在某些情况下更快(更好的性能)。 我的问题是,有没有一种情况,你应该使用live而不是delegate ? UPDATE 我已经设置了一个简单的测试,以查看性能的差异。 我还添加了新的.on() ,它在jQuery 1.7+中可用 结果几乎总结了答案中所述的性能问题。 除非你的jQuery版本不支持.delegate()否则不要使用.live() .delegate() 。 除非你的jQuery版本不支持.on()否则不要使用.on() 。 .live()和.delegate()之间的区别比delegate()和.on()之间的.on() 。
我试图加载一个本地的JSON文件,但它不会工作。 这是我的JavaScript代码(使用jQuery: var json = $.getJSON("test.json"); var data = eval("(" +json.responseText + ")"); document.write(data["a"]); test.json文件: {"a" : "b", "c" : "d"} 没有任何显示,Firebug告诉我,数据是不确定的。 在Firebug中,我可以看到json.responseText ,它是好的和有效的,但是当我复制该行时,这很奇怪: var data = eval("(" +json.responseText + ")"); 在Firebug的控制台,它的工作原理,我可以访问数据。 任何人都有解决方案?
我需要得到隐藏在div内的元素的高度。 现在我显示div,获取高度,并隐藏父div。 这似乎有点傻。 有没有更好的办法? 我正在使用jQuery 1.4.2: $select.show(); optionHeight = $firstOption.height(); //we can only get height if its visible $select.hide();
使用实例方法作为事件处理程序的回调函数将其范围从“我的实例”更改为“无论何时只是称为回调” 。 所以我的代码看起来像这样 function MyObject() { this.doSomething = function() { … } var self = this $('#foobar').bind('click', function(){ self.doSomethng() // this.doSomething() would not work here }) } 它的工作原理,但这是最好的办法吗? 我看起来很奇怪
我有这个HTML: <input type="text" name="textField" /> <input type="submit" value="send" /> 我该如何做这样的事情: 当文本字段为空时,应该禁用提交(disabled =“disabled”)。 当在文本字段中输入某些内容以删除禁用的属性时。 如果文本字段再次变空(文本被删除),则应该再次禁用提交按钮。 我尝试了这样的事情: $(document).ready(function(){ $('input[type="submit"]').attr('disabled','disabled'); $('input[type="text"]').change(function(){ if($(this).val != ''){ $('input[type="submit"]').removeAttr('disabled'); } }); }); …但它不工作。 有任何想法吗? 谢谢。
自升级到iOS 6以来,我们看到Safari的Web视图冒险缓存$.ajax调用。 这是在PhoneGap应用程序的上下文中,因此它使用Safari WebView。 我们的$.ajax调用是POST方法,我们将缓存设置为false {cache:false} ,但仍然发生这种情况。 我们尝试手动添加TimeStamp到标题,但没有帮助。 我们做了更多的研究,发现Safari只是返回具有静态功能签名的Web服务的缓存结果,并且不会因呼叫而改变。 例如,想象一个叫做如下的函数: getNewRecordID(intRecordType) 这个函数一次又一次地接收相同的输入参数,但是它返回的数据应该每次都不一样。 必须在苹果急于使iOS 6 zip令人印象深刻,他们对缓存设置太高兴了。 有没有其他人在iOS 6上看到这种行为? 如果是这样,究竟是什么原因造成的呢? 我们找到的解决方法是修改函数签名是这样的: getNewRecordID(intRecordType, strTimestamp) 然后总是传递一个TimeStamp参数,并在服务器端丢弃该值。 这可以解决这个问题。 我希望这能帮助像我这样在这个问题上花费15个小时的其他可怜的灵魂!