我有一个自己的js-class并尝试在点击事件中使用jquery的$(this)和object-this。 jquery的$(this)工作正常,但是对象 – 这没有定义。 http://jsfiddle.net/j33Fx/2/ var myclass = function(){ this.myfunction = function(){ alert(‘myfunction’); } this.buttonclicked = function(){ alert(‘buttonclicked’); } this.writeout = function(){ var buttoncode = ‘click’; $(‘body’).append(buttoncode); $(‘.mybutton’).click(function(){ alert(‘Button: ‘+$(this).attr(‘class’)); this.buttonclicked(); }); this.myfunction(); } } var x = new myclass(); x.writeout(); 当我单击附加按钮时,我得到一个带有Button类名的警报,但我的函数“this.buttonclicked”似乎不是一个函数。 有任何想法吗?
我的问题是:我正在开发一个包含2个样式表的移动友好型网站,一个用于“面向PC”的可视化,另一个用于移动可视化。 与2 CSS一起,当从一种可视化模式切换到另一种时,我需要一个函数来修改菜单上的一些href属性。 我不会深入研究这些东西的细节因为它会很长并且可能很无聊,无论如何我需要在$(document).ready和$(window).resize上调用这个函数,这就是每一个调整窗口大小的时间。 所以我声明了一个函数,并将其命名为goToAnchor ,以便能够多次调用它: $(document).ready(function() { function goToAnchor() { … modify some href attr … } goToAnchor(); }); 这很好,但正如我所说,我还需要在每次调整窗口大小时执行该函数,所以我认为代码可能如下所示: $(document).ready(function() { function goToAnchor() { … modify some href attr … } goToAnchor(); $(window).resize(goToAnchor()); }); 问题很简单,该函数不会在resize运行。 我查看了jQuery文档并注意到每个关于将函数链接到事件的示例都是这样写的: $(window).resize(function() { …do stuff…} ); 我不会使用匿名函数,因为我之前已经编写过该函数。 我想做的事情非常简单:多次调用一个函数而不需要使用匿名函数来“复制”我的代码(毕竟,这就是函数应该如何工作,对吧?)。
可能重复: 在javascript中自执行函数的目的是什么? 这是什么意思? (function(x,y)){…}){a,b); 在JavaScript中 我看到有时像这些例子那样定义了函数: (function() { …. })(); (function(param) { …. })(JQuery); (function(chat, Friend) { …. })(chat, chat.module(“friend”); 经过一些网络研究,我没有找到任何有关最后括号信息含义的信息。 有人解释如何使用它吗? 或者只是简单地指出解释其含义的网络链接?
首先,我为我可怜的英语道歉…希望有人能理解我的问题并帮助我…… 我正在使用大量的$ .post调用项目,我希望通过为所有这些调用添加相同的validation来改进它们。 我不想一个接一个地更改所有脚本,所以有没有办法覆盖$ .post函数同时向所有脚本添加相同的东西? 或者也许是一种在每个$ .post上触发另一个函数的方法? 就像是 : $.post.each(function(){[…]}); 要么 $(‘body’).on(‘post’, function(){[…]}); 谢谢 ! 编辑:最后按我的意愿做了! 这是我的代码: // Override $.post (function(){ // Store a reference to the original remove method. var originalPostMethod = jQuery.post; // Define overriding method. jQuery.post = function(data){ // Execute the original method. var callMethod = originalPostMethod.apply( this, arguments); callMethod.success(function(){ //console.log(‘success’); }); […]
我在我的小项目中使用“OWL Carousel”jQuery插件( http://www.owlgraphic.com/owlcarousel/ )。 我创建了可通过此插件拖动的小脚本。 现在我想禁用特定元素(Item)中的拖动…但我不知道该怎么做。 HTML: Item-1.1 Item-1.2 NOT Draggble Item-1.3 Item-2.1 Item-2.2 NOT Draggble Item-2.3 Item-3.1 Item-3.2 NOT Draggble Item-3.3 CSS: div.wrap { width: 990px; min-height: 360px; padding: 5px; border: 2px solid #666; margin: 10px auto; } div.item { float: left; border: 1px solid #ddd; width: 324px; margin: 1px; min-height: 360px; } JS: […]
任何人都有最终的PHP函数来添加/删除查询字符串中的参数? 它需要处理所有可能的情况,我已经看过处理某些情况的情况,但不是全部。 一些示例案例: http://mysite.com?param1=1¶m2=2 http://www.mysite.com/?param1[]=1¶m1[]=2 的ftp://用户:pass@mysite.com/files/uploads/参数1 = 1&param2的= 2 /?参数1 = 1&param2的= 2 /page.html?param1=1 /dir/page.html?test=1&bla=2 /dir/page.html?param1=1#jump_to_bottom 它理想情况应该是这样的: function add_get_param($uri, $name, $value = null) { … } function remove_get_param($uri, $name) { … } 一些示例测试: $var = add_get_param(‘http://mysite.com?param1=1¶m2=2’, ‘param3’, 3); // http://mysite.com?param1=1¶m2=2¶m3=3 和: $var = add_get_param(‘/dir/page.html?param1=1¶m2=2#jump_to_bottom’, ‘param3’); // /dir/page.html?param1=1¶m2=2¶m3#jump_to_bottom 等等… 好吧,我写了自己的function: PHP: http : //pastebin.org/170157 jQuery: http […]
有没有办法将twitter bootstrap的typeahead函数转换为$(“body”)。on()函数? 如果页面加载中存在该元素,则以下代码可以正常工作。 $(“#job_title”).typeahead({ source: searchFunction, onselect: function(obj) { } }); 但是如果我动态地添加id =“job_title”的文本输入,则上述function不起作用。 这有解决方法吗?
我在jquery中调用的函数返回undefined。 我检查了这个函数,当我发现它时它返回了正确的数据。 function addToPlaylist(component_type,add_to_pl_value,pl_list_no) { add_to_pl_value_split = add_to_pl_value.split(“:”); $.ajax({ type: “POST”, url: “ds/index.php/playlist/check_folder”, data: “component_type=”+component_type+”&value=”+add_to_pl_value_split[1], success: function(msg) { if(msg == ‘not_folder’) { if(component_type == ‘video’) { rendered_item = render_list_item_video(add_to_pl_value_split[0],add_to_pl_value_split[1],pl_list_no) } else if(component_type == ‘image’) { rendered_item = render_list_item_image(add_to_pl_value_split[0],add_to_pl_value_split[1],pl_list_no) } } else { //List files from folder folder_name = add_to_pl_value_split[1].replace(‘ ‘,’-‘); var x = msg; // […]
我执行这样的函数, $(document).ready(function() { getEntities(“Clients/GetClients”, 0, formatClientsResult); var maxvalues = $(“#HfId”).val(); $(“.pager”).pagination(maxvalues, { callback: getEntities(“Clients/GetClients”, formatClientsResult), current_page: 0, items_per_page: 5, num_display_entries: 5, next_text: ‘Next’, prev_text: ‘Prev’, num_edge_entries: 1 }); }); $(function() { $.ajaxSetup({ contentType: ‘application/json; charset=utf-8’, global: false, async: false, dataType: ‘json’, beforeSend: function() { $(‘.loading’).show(); }, complete: function() { $(‘.loading’).hide(); } }); }); function getEntities(url, […]
所以,我在jQuery中有这个function: $(function(){ $( “.unfocused” ).click(function ClickHeader () { $( this ).addClass( “focused” ); $( this ).removeClass( “unfocused” ); $(“.header”).not(this).addClass( “unfocused” ); $(“.header”).not(this).removeClass( “focused” ); }); }); 它在第一次单击标题时工作正常,但是当我尝试单击另一个未聚焦的标题时,该函数不再起作用。 是因为它在文档.ready上运行吗? 谢谢你的帮助!