我在按钮调用时直接调用函数demo1()
时遇到问题。
请参阅代码
var FormImageCrop = function (){
var demo1 = function() {
var jcrop_api;
$('#demo1').Jcrop({
onChange: showCoords,
aspectRatio: 4 / 3
},function(){
jcrop_api = this;
jcrop_api.setSelect([0,0,3200,2400]);
});
$('#coords1').on('change','input',function(e){
var x1 = $('#x11').val(),
x2 = $('#x12').val(),
y1 = $('#y11').val(),
y2 = $('#y12').val();
jcrop_api.setSelect([x1,y1,x2,y2]);
});
function showCoords(c)
{
$('#x11').val(c.x);
$('#y11').val(c.y);
$('#x12').val(c.x2);
$('#y12').val(c.y2);
$('#w1').val(c.w);
$('#h1').val(c.h);
};
}
return {
init: function () {
if (!jQuery().Jcrop) {;
return;
}
demo1();
}
};
}();
我想在按钮点击时调用此功能
比如<button onclick="demo1()">Click it</button>
我怎样才能调用这个函数???
答案 0 :(得分:4)
var myObject = {
firstName:"John",
lastName: "Doe",
fullName: function () {
return this.firstName + " " + this.lastName;
}
}
myObject.fullName(); // Will return "John Doe"
就是这样。 你可以从这里阅读整个教程 http://www.w3schools.com/js/js_function_invocation.asp
或者你可以试试这个
var my_foo= function foo() {
// do something
}
myfoo();
或
function bar() {
// do something
}
bar();
答案 1 :(得分:2)
在HTML中调用函数的唯一方法是函数本身是否在全局窗口对象上公开。我不一定会这样做,但是如果你仍然想在按钮的onlick
属性上调用该函数,你可以这样做:
var FormImageCrop = function (){
window.demo1 = function() {
...
...
}
return {
init: function () {
...
...
window.demo1();
}
};
}();
正如我所说,这不是理想的,但它会起作用。更好的选择是向按钮添加事件监听器。
希望它有所帮助。
答案 2 :(得分:2)
您也可以喜欢
var FormImageCrop = function (){
window.demo1 = function(val) {
alert(val);
}
return {
init: function () {
window.demo1();
}
};
}();
按钮链接此
<button onclick="demo1('abc')">Click It</button>