I barely understand now what you're trying to do.
You want to display an image at the position of your click, every time you click somewhere. Right? If not please be more explicit.
First things first, clearing the screen isn't some optional step. Every frame you clear the screen, you draw your shit, and you call display. There isn't any clear in your code.
If you want your board to "stay" on the screen, then draw it every frame.
If you want to react to a click, use the MouseButtonPressed event. Code inside the event will be triggered only once when you click. And that should probably be "add an X to this position".
To do that, you can create an empty std::vector of rectangles at the start of your program, and everytime the MouseButtonPressed event is triggered you create a new rectangle, set its size, color, texture or whatever, set its position to the position of the click, then you add it into you vector.
After your event loop, clear the window, draw your board, iterate through your vector to draw every rectangle, call display.