有一个问题具有相同的标题,但我的问题没有答案。 我在网站上实现了一个帮助器。现在,我有一个“开/关”-Button。每当我打开“on”时,一些HTML-Elements就会成为jquery ui小部件的链接。
问题是:每次,我点击“打开”,似乎有一个计数器,用于点击事件的打开小部件的数量。
我不知道,如何解决这个问题。 还有其他人吗? 感谢。
(function ($, bc, opc) {
var counter=0;
// On-Click function:
$.fn.opcuaHelp = function ( ) {
counter= counter+1;
return this.each( function ( ) {
$(this).attr("data-opcua-help-enabled", "true");
var $this = $(this);
var $that = $(this);
$this.css({"color":"#2196F3"})
if ($this.hover()){$($this).hover(function() {
$(this).css({"display":"block","transform-origin":"100% 0%","animation":"fadeIn 0.3s ease-in-out"})
});}
var helptext = "" ;
getHelpText("ns=1;g=562e2ba3-38f6-491e-8331-008492f2ae68")
.then( function(result) {
helptext = result;
var $hoverhelper = $("<span class='hoverhelper'></span>");
$hoverhelper.append(helptext);
$this.append($hoverhelper);
} ) ;
$this.click(function klicken ( ) {
$this.css({"color":"#0000FF"})
getHelpText("ns=1;g=562e2ba3-38f6-491e-8331-008492f2ae68")
.then( function(result) {
helptext = result;
var $helper = $("<span class='helpwidget'></span>");
$helper.append(helptext);
var $dialog = dialog;
$dialog.empty();
$('span[class^="hoverhelper"]').remove();
$helper.dialog({title: $that.text(), buttons: { "1": { id: 'close', text: 'Close', click: function(){ $(this).dialog("close"); }, "class": "orange" },
}});
}
} ) ;
});
} );
} ;
//Off-click function:
$.fn.opcuaHelp1 = function ( ) {
return this.each( function ( ) {
$(this).attr("data-opcua-help-enabled", "false");
// $( "#helpid" ).remove();
$("[data-opcua-help-enabled]").css({"color":"black"});
$('span[class^="hoverhelper"]').remove();
$(this).removeAttr("display");
$(this).removeAttr("transform-origin");
$(this).removeAttr("animation");
})
}
} ( jQuery, $BC, opcua ))
答案 0 :(得分:0)
我找到了解决方案:
取消绑定JQuery选择的事件,同时取消激活按钮。
$($this).off();