Over on cf-talk, a user asked if it was possible to use cfwindow without either centering the window or using a hard coded x, y position. Instead they wanted it relative to where the user clicked. This was rather easy to do so I thought I'd share the code.

First, we need to take a link and simply call a JavaScript function. In order to know where we clicked, we will use two event values:

This is the test <a href="" onclick="makeWin(event.pageX,event.pageY);return false;">link</a>.

The makeWin function then will do:

function makeWin(x,y) { ColdFusion.Window.create('mywin','Windows Rules','win.cfm',{x:x+25,y:y+25}); }

And, um, that's it! I thought it would be a bit more complex. The +25 on both x and y will launch the window 25 pixels to the right and down from where you clicked. Adjust accordingly to taste.

The complete template (minus win.cfm) is below:

<cfajaximport tags="cfwindow">

<script> function makeWin(x,y) { ColdFusion.Window.create('mywin','Windows Rules','win.cfm',{x:x+25,y:y+25}); } </script>

<h2>Content to push stuff down</h2>

<h2>More content to push stuff down the page vertically...</h2>

<p> This is the test <a href="" onclick="makeWin(event.pageX,event.pageY);return false;">link</a>. </p>