我使用属性和方法定义了一个对象。但我无法找到如何将jQuery函数附加到方法。我想要的是:当我点击对象#myTarget更改其html文本时。
我写了这个:
function blockTest(word){
this.word = ""+genRandInt(0, 25);
this.applyNewWord = function(){
$(document).ready(function(){
$("#myTarget").click(function(){
$("#myTarget").html(this.word);
});
});
};
}

实际上,我试图
答案 0 :(得分:1)
根据您提供的代码完成您想要的内容并不是最佳选择。我首先创建Object
而不是使用函数。在该对象中插入属性并分别处理DOM事件:
(function($) {
var obj = {
word: "Example Word",
applyNewWord: function() {
return this.word;
}
}
$(function() {
$("#myTarget").on("click", function() {
$(this).text(obj.applyNewWord())
});
});
}(jQuery));

div {
border: 1px solid black;
cursor: pointer;
padding: 5px;
}

<div id="myTarget">Dummy Text</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
function blockTest(word){
var self = this;
self.word = ""+genRandInt(0, 25);
self.applyNewWord = function(){
$("#myTarget").click(function(){
$(this).html(self.word);
});
};
}
复制此内容并且不要将document.ready
保留在函数