Javascript 如何通过AngularJS中的浏览器URL实现图像不可拖动的图像限制?
Javascript 如何通过AngularJS中的浏览器URL实现图像不可拖动的图像限制?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,//这里我们为CRUD应用程序包装模块 var-app=angular.module(“shoppingApp”,[]); app.directive('ngRightClick',function(){ 返回{ 限制:“A”, 链接:函数(作用域、元素、属性){ 元素绑定('contextmenu',函数(e){ e、 预防默认值(); }) } } }) //这是图像的JQUERY代码 $(“#myImage”).mousemove(函数(e){ 返回false; }); $
//这里我们为CRUD应用程序包装模块
var-app=angular.module(“shoppingApp”,[]);
app.directive('ngRightClick',function(){
返回{
限制:“A”,
链接:函数(作用域、元素、属性){
元素绑定('contextmenu',函数(e){
e、 预防默认值();
})
}
}
})
//这是图像的JQUERY代码
$(“#myImage”).mousemove(函数(e){
返回false;
});
$(“#myImage”).attr(“可拖动”,false);
Angular没有提供任何比普通JavaScript更能让您完全保护图像的功能。无论您实现了什么,都不可能阻止用户复制图像。话虽如此,您可以通过JavaScript为“contextmenu”事件添加一个事件侦听器并调用preventDefault()
方法:
document.addEventListener('contextmenu',event=>event.preventDefault())代码>
您无法真正禁用图像复制,但可能可以通过禁用特定图像上的右键单击选项来实现。这可以通过angular js指令完成。请看下面的代码
var app = angular.module('myApp', []);
app.directive('ngRightClick', function() {
return {
restrict: 'A',
link: function(scope, element, attr) {
element.bind('contextmenu', function(e) {
e.preventDefault();
})
}
}
})
在您的div
中将其称为:
<div ng-app="myApp">
<div ng-right-click>
<img src="your image url" />
</div>
</div>
好的,先生,我将尝试和如何调用(禁用右键单击)指令?我已用如何调用此ng右键单击更新了答案。但请不要叫我先生,因为我不是男人:(sir ng right click功能不是调用图像上的right click。我已更新了我的代码。请检查我的代码中有什么错误?您在角度代码中使用的是相同的指令名称吗?因为它已从DisableRight click更改为ngRight click
。它正在工作,sir实际上我的指令名称将是错误的,这就是函数不可用的原因。)你的信息对我真的很有帮助。你能把你的角度代码也发出来吗?