我有一个被创建的类(testClass
用于此目的)。该类内部有以下方法:
setExternalValue: function(val) {
this.sliderCaption.innerHTML = getPointsString(val*this.points_per_use, this.points_currency);
this.sliderValuebox.value = this.getUses();
}
我怎样才能与此相关并倾听这种方法的发生?当它完成后,我想运行一个特定的功能。在setExternalValue
中放置自定义事件对我不起作用,因为我无法编辑原始js。
答案 0 :(得分:3)
您可以将其包装,调用原始函数,然后插入处理程序代码。
private void btn_recom_Click(object sender, EventArgs e)
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
private void GetRows()
{
// Get the DataTable of a DataSet.
DataTable table = dsDataSet.Tables["MainData"];
DataRow[] rows = table.Select();
// Print the value one column of each DataRow.
}
}
var myObj = new testClass(); // or however you normally initialize them
myObj.oldSetExternalValue = myObj.setExternalValue;
myObj.setExternalValue = function(val) {
var result = this.oldSetExternalValue(val);
// whatever you wanted to run after it completes
return result;
}

答案 1 :(得分:1)
引用旧函数。 用旧函数替换旧函数,但在完成时也执行新函数。
var obj = {
setExternalValue: function(val) {
alert("inside method: " + val);
}
};
var referenceOldFunction = obj.setExternalValue;
obj.setExternalValue = function (val) {
referenceOldFunction.call(obj, val);
// do stuff after it ends
}
obj.setExternalValue("test");