This example demonstrates how to use ASPxClientHtmlEditor.CommandExecuted event to change an image's attributes when inserting an image with the Image Selector.
Overview
Use the event's commandName argument property to determine if the image was inserted with the Image selector and the parameter argument property to get information about image's source.
JavaScriptfunction OnCommandExecuted(s, e) {
if (e.commandName == "insertimage") {
var src = e.parameter.src;
}
}
Call the editor's client-side GetDesignViewDocument method to get the document object inside the editor. Then call the getElementsByTagName method to find all images.
JavaScriptvar allImages = s.GetDesignViewDocument().getElementsByTagName("img");
Finally, find the inserted image and change its attributes:
JavaScriptfor (var i = 0, max = allImages.length; i < max; i++) {
if (allImages[i].src.replace(/^(?:\/\/|[^\/]+)*\//, "/") == src.replace(/^(?:\/\/|[^\/]+)*\//, "/")) {
target = allImages[i];
if (target) {
target.style.border = '2px solid red';
// add your attributes here
}
break;
}
}
Files to Review
- Default.aspx (VB: Default.aspx)
- Default.aspx.cs (VB: Default.aspx.vb)
Example Code
ASPx<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="DevExpress.Web.ASPxHtmlEditor.v13.2, Version=13.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxHtmlEditor" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v13.2, Version=13.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.ASPxSpellChecker.v13.2, Version=13.2.15.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxSpellChecker" TagPrefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function OnCommandExecuted(s, e) {
if (e.commandName == "insertimage") {
var src = e.parameter.src;
var allImages = s.GetDesignViewDocument().getElementsByTagName("img");
var target;
for (var i = 0, max = allImages.length; i < max; i++) {
if (allImages[i].src.replace(/^(?:\/\/|[^\/]+)*\//, "/") == src.replace(/^(?:\/\/|[^\/]+)*\//, "/")) {
target = allImages[i];
if (target) {
target.style.border = '2px solid red';
}
break;
}
}
};
}
</script>
</head>
<body>
<form id="form1" runat="server">
<dx:ASPxHtmlEditor ID="ASPxHtmlEditor1" runat="server">
<ClientSideEvents CommandExecuted="OnCommandExecuted" />
</dx:ASPxHtmlEditor>
</form>
</body>
</html>