Kareem Kamel
Kareem Kamel

Reputation: 51

Can you Make CSS Styles Stay When Copied/pasted?

Is it possible to make it so that when a user copies/pastes something onto their clipboard, it's CSS styles remain?

Upvotes: 1

Views: 484

Answers (2)

Batuhan Tasdoven
Batuhan Tasdoven

Reputation: 798

If you are talking about HTML objects, then you can use this script mentioned here.

This script copies all the styles of a HTML Tag and stores them so that you can use them later on.

So in your case, when you somehow detect the copy event, you can store the style properties of the original object, and when the user pastes, you can apply the stored styles.

The original usege of the script :

var style = $("#original").getStyleObject(); // copy all computed CSS properties
$("#original").clone() // clone the object
    .parent() // select it's parent
    .appendTo() // append the cloned object to the parent, after the original
                // (though this could really be anywhere and ought to be somewhere
                // else to show that the styles aren't just inherited again
    .css(style); // apply cloned styles

But maybe the easier way would be to add a class like .copied-tag when the user copies an object, then when the user pastes, you can find the .copied-tag class and apply any of the styles you want to copy.

An example:

When user copies:

$("#copied-object").addClass("copied-tag");

And when the user pastes:

originalObject = $(".copied-tag").removeClass("copied-tag"); 
newObject      = $(originalObject)
                     .clone()
                     .css("text-shadow", $(originalObject).css("text-shadow"))
                     .css("color",       $(originalObject).css("color"));

$("#container").append(newObject);

Upvotes: 1

Micro
Micro

Reputation: 10891

Only if the styles are inline like this:

<p style="color:red">some text</p>

and they copy paste it into something that reads html.

Upvotes: 0

Related Questions