gpt4 book ai didi

javascript - 自定义对象上的 jQuery val() 方法

转载 作者:行者123 更新时间:2023-11-30 23:52:08 25 4
gpt4 key购买 nike

我有一个名为 ValueBox 的对象,我是这样创建的:

function ValueBox(params) {
...
$.extend(true, this, $('/* some HTML elements */'));
...
var $inputBox = $('input[type=text]', this);
...
this.val = function(newValue) {
if(typeof newValue == "number") {
$inputBox.val(newValue);
$inputBox.change();
} else {
return parseFloat($inputBox.val());
}
}
}

我在特定 ValueBox 实例上有一个更改事件,每当 $inputBox 更改时都会触发该事件,但更改回调函数无法使用我的类中的 val() 方法。我假设通过使用 $(this).val() 我正在调用 jQuery val() 方法,这当然是行不通的。是否可以访问我定义的 val() 方法?

最佳答案

$.fn.yourpluginscope.originalVal = $.fn.val;
$.fn.extend({
val: function (value) {
if (/* detect your plugin element */)
{
if (value == undefined)
return /* getter */;
return $.fn.yourpluginscope.originalVal.call(/* setter */, value);
}
return $.fn.yourpluginscope.originalVal.call(this, value);
}
});

扩展“ native ”jQuery 方法的正确方法

关于javascript - 自定义对象上的 jQuery val() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com