Tag: 这个

强迫上下文

我有这个类,我有一个私有属性和一个公共访问方法: Person = function () { this.Name = “asd”; var _public = new Object(); _public.Name = function (value) { if (value == undefined) { //Get return this.Name } else { this.Name = value; //Set } }; return _public; }; 我想强制_public.Name的上下文访问this.Name 。 我知道关闭的技巧,但我想知道我是否可以强制上下文。 我发现了一种技术来扩展对象function: Function.prototype.setScope = function (scope) { var f = this; return function () […]

在.replaceWith()之后使用$(this)

请考虑以下HTML和Javascript。 在脚本中,我正在用p标签替换标签。 我期望alert()函数返回p标记的内容,但它返回原始标记的内容,该标记不再存在。 我如何引用新元素? HTML: This is a link 使用Javascript: $(document).ready(function() { $(“a”).each(function() { $(this).replaceWith(‘New Paragraph’); alert($(this).text()); }); });

如何使用_this_ Jeditable获取被操纵的dom元素的值?

这是Jeditable的延续:如何基于dom元素属性设置参数 请在这里回复..这是我的’真实’账户.. 我正在尝试将不同的参数值分配给我已启用jQuery插件’Jeditable’的不同div。 我不能让它工作,我确信它的东西很简单..但我无法弄清楚.. 我该如何实现它? 给出以下DOM元素: 这些不同的片段为上面的空div生成以下dafault占位符文本: $(‘.editme’).editable(‘savedata.php’,{ placeholder : “txt – “+$(this), } ); // outputs: “txt – [object Object]” $(‘.editme’).editable(‘savedata.php’,{ placeholder : “txt – “+this, } ); // outputs: “txt – [object HTMLDocument]” $(‘.editme’).editable(‘savedata.php’,{ placeholder : “txt – “+$(this).html(), } ); // outputs: “txt – undefined” $(‘.editme’).editable(‘savedata.php’,{ placeholder : “txt – “+$(this).attr(‘rel’), } […]

在没有闭包的情况下在setTimeout中执行jQuery成员函数的方法?

我试图沿着这些方向做点什么: setTimeout($(‘#element’).hide,3000); 这似乎很简单,但它被“这个”问题瘫痪了。 我想找到一种方法来将实际函数作为参数传递, 而不将其包装在另一个函数中 ,例如我不想这样做: setTimeout(function(){$(‘#element’).hide();},3000); 我尝试过的: setTimeout($(‘#element’).hide,3000); setTimeout($(‘#element’).hide.apply(document),3000); /* jQuery docs say that document is the default context */ setTimeout($(‘#element’,document).hide,3000); setTimeout($(document).find(‘#element’).hide,3000); setTimeout($(window).find(‘#element’).hide,3000); setTimeout($.proxy($(‘#element’).hide,document),3000); /* I know this returns a function, which I don’t want, but I have tried it */ setTimeout(($(‘#element’).hide()),3000); /* functional expression */ 我正在寻找解决这个问题的方法,但我不想把它包装在另一个函数中。 代码行越少越好。 我知道为什么这不能按预期工作,但如何在不将其包装在封闭中的情况下修复它?

Jquery – hover时将图像高度和宽度扩展20%

晚上所有 – 什么是动态访问图像高度和宽度的最佳方式。 我想在周围的divhover时添加20%的图像宽度和高度以及动画,我想我需要使用’this’,但不知道如何访问图像。 任何帮助都很受欢迎。 干杯保罗

这vs $(这个)

可能重复: jQuery $(this)vs this 我是新手,并试图让我的概念正确。 已经有很多使用“ this ”和“ $(this) ”的$(this) 。 有人可以解释我们使用两个不同的“这个”的区别和条件吗?

HTML onclick with $(this)

我与调用一般的jQuery点击function有冲突,因此我需要在HTML元素本身上调用onclick事件,同时仍然可以使用$(this) $(‘.item-main-section, .item-status’).click( function () { var slideHeight = $(this).parent().children(‘.item-slide-section’).height(); if ($(this).parent().height() > 50) { $(this).parent().animate({height: ’50px’}, 300); $(this).parent().children(‘item-slide-section’).animate({bottom: ‘0px’}, 300); } else { $(this).parent().animate({height: slideHeight + 50 + ‘px’}, 300); $(this).parent().children(‘item-slide-section’).animate({bottom: slideHeight – 5 + ‘px’}, 300); $(this).parent().siblings(‘.item-wrapper’).animate({height: ’50px’}, 300); $(this).parent().siblings(‘.item-wrapper’).children(‘item-slide-section’).animate({bottom: ‘0px’}, 300); } }); 而不是jquery点击我需要onclick =“thisFunction()”元素,但如果我摆脱第一行我失去了使用$(this)的能力。 这很难解释,但我希望对某人有意义。

使用事件侦听器时维护’this’的值

我有以下function: onDocumentKeyUp: function (e) { if (e.keyCode === 27) { this.deactivate(); } } 我想像这样绑定它: $(document).on(‘keyup’, onDocumentKeyUp); 但是,当我这样做时, onDocumentKeyUp函数内的onDocumentKeyUp引用文档。 我这样解决了这个问题: var self = this; $(document).on(‘keyup’, function(e) { self.onDocumentKeyUp(e); }); 这有效,但有些东西告诉我有一个更清洁的方法来解决这个问题。 将.apply() .call()或.apply()某种方式……应用于此处吗? 我仍然不确定这些function是如何工作的。 另外,我不一定要把自己限制在jQuery.on() 。 如果有一种“香草”的方式,请做我的客人教我。

jquery将$(this)传递给其他函数

高! 我想要做的是以下内容:我有一个带有onclick的表连接到位于偶数行的表中的链接。 每一个奇数行都是隐藏的。 单击该链接,将显示奇数行,并将数据加载到该行。 工作良好 现在我想要做的是,无论何时完成该过程,我想将新的点击function附加到该链接,使该行再次隐藏。 有点像切换,但然后有一些更多然后只是显示/隐藏function。 我尝试使用以下代码执行此操作,但无法使其工作。 我肯定会错过一些非常基本的东西,或者只是不太了解jquery(这很可能,因为我刚开始几周前)。 $(document).ready(function(){ // The version icons $(“a.version”).click(function () { var sLink = $(this).attr(“href”); var nexttr = $(this).parent().parent().next(“tr.version”); var nexttrtd = nexttr.find(“td:first”); $.get(sLink, function(sData){ nexttrtd.html(sData); nexttr.show(); }); $(this).click(function(){ attachHideMyChildren(); }); return false; }); }); function attachShowMyChildren() { var sLink = $(this).attr(“href”); var nexttr = $(this).parent().parent().next(“tr.version”); var nexttrtd = […]

$(this)和这个内部点击事件

我有一个自己的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”似乎不是一个函数。 有任何想法吗?